Там известны ложные проблемы положительных сторон с Valgrind?

Много способов вы можете сделать. Я собираюсь поделиться одним примером.

Реализуйте View.OnLongClickListener следующим образом

private void setupLongPress() {
  imageButton.setOnLongClickListener(new View.OnLongClickListener(){
        @Override
        public boolean onLongClick(View v){
            // here your staff
            // we added dialog method here as follows
            createPreviewDialog();
            return false;
        }
   });
}

Теперь используйте LayoutInflater для надувания нового макета в качестве всплывающих окон

private Dialog createPreviewDialog() {
    View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_preview, null);
    LinearLayout closeButton = view.findViewById(R.id.close);
    closeButton.setOnClickListener (new View.OnClickListener (){
        @Override
        public void onClick ( View view ) {
            dismiss();
        }
    });

    View okButton = view.findViewById(R.id.ok);
    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dismiss();
            // here your staff
        }
    });

    builder.setView(view);
    return builder.create();
}
19
задан Keith Pinson 10 July 2012 в 17:06
поделиться

3 ответа

Yes, there are false positives with Valgrind, that's why it has suppression files for particular glibc and gcc versions, for example. The false positives may arise if you are using older valgrind with newer gcc and glibc, i.e., valgrind 3.3 with glibc 2.9.

Having said that, you still have to look into issue and find out if it is really a false positive (if that turns out to be the case, you can write a suppression for it yourself) or is it a real bug in your program.

There is no quick and easy way to say what is going on here, but in this case I'd suspect that you are passing uninitialized value from your code to library code. Try Valgrind option --track-origins=yes. It will show where the uninitialized value came from. If it is your code, probably you should initialize it. If it's inside library, it could be the false positive or, still, bad values of library call arguments might be causing it, so check those.

17
ответ дан 30 November 2019 в 04:44
поделиться

Valgrind поставляется с некоторым подавлением ошибок по умолчанию, но они ни в коем случае не охватывают все библиотеки.

Ошибка Инструменты -checking выявляют многочисленные проблемы в базовых библиотеках, таких как библиотека GNU C и клиентские библиотеки X11, которые предварительно установлены в вашей системе GNU / Linux. Вы не можете легко исправить это, но вы не хотите видеть эти ошибки (и да, их много!), Поэтому Valgrind читает список ошибок, которые нужно устранить при запуске. Файл подавления по умолчанию создается скриптом ./configure при сборке системы.

Вы можете создать свои собственные подавления ошибок , которые, как вы знаете, не имеют отношения к вашему коду.

но они ни в коем случае не охватывают все библиотеки.

Инструменты проверки ошибок обнаруживают многочисленные проблемы в базовых библиотеках, таких как библиотека GNU C и клиентские библиотеки X11, которые предварительно установлены в вашей системе GNU / Linux , Вы не можете легко исправить это, но вы не хотите видеть эти ошибки (и да, их много!), Поэтому Valgrind читает список ошибок, которые нужно устранить при запуске. Файл подавления по умолчанию создается скриптом ./configure при сборке системы.

Вы можете создать свои собственные подавления ошибок , которые, как вы знаете, не имеют отношения к вашему коду.

но они ни в коем случае не охватывают все библиотеки.

Инструменты проверки ошибок обнаруживают многочисленные проблемы в базовых библиотеках, таких как библиотека GNU C и клиентские библиотеки X11, которые предварительно установлены в вашей системе GNU / Linux , Вы не можете легко исправить это, но вы не хотите видеть эти ошибки (и да, их много!), Поэтому Valgrind читает список ошибок, которые нужно устранить при запуске. Файл подавления по умолчанию создается скриптом ./configure при сборке системы.

Вы можете создать свои собственные подавления ошибок , которые, как вы знаете, не имеют отношения к вашему коду.

Я не хочу видеть эти ошибки (и да, их много!), поэтому Valgrind читает список ошибок, которые нужно устранить при запуске. Файл подавления по умолчанию создается скриптом ./configure при сборке системы.

Вы можете создать свои собственные подавления ошибок , которые, как вы знаете, не имеют отношения к вашему коду.

Я не хочу видеть эти ошибки (и да, их много!), поэтому Valgrind читает список ошибок, которые нужно устранить при запуске. Файл подавления по умолчанию создается скриптом ./configure при сборке системы.

Вы можете создать свои собственные подавления ошибок , которые, как вы знаете, не имеют отношения к вашему коду.

3
ответ дан 30 November 2019 в 04:44
поделиться

Не был ли мотив Debian SSL мотивирован исправлением некоторых ложных срабатываний с помощью Valgrind?

1
ответ дан 30 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: