Я работаю над устаревшим приложением VB6.В определенном случае использования приложение завершается с чем-то, что выглядит как исключение нулевого указателя:
Инструкция по адресу «0x2982e900» ссылается на память по адресу «0x00000156».Память не может быть «прочитана».
Я попытался отладить исходный код, но не могу найти строку исходного кода, которая выдает исключение.Есть ли способ найти строку исходного кода, которая соответствует адресу инструкции по сборке, например, 0x2982e900?(Я пробовал Reflector, но кажется, что он поддерживает только .NET).
Обновление:
Когда я отлаживаю приложение с помощью отладчика VB6 IDE, я не получаю никаких разрывов вИсточник VB6.Вместо этого появляется сообщение об ошибке Windows, упомянутое выше, давая мне возможность включить отладчик Visual Studio 2010.Если я сделаю это, отладчик VS2010 отобразит код сборки следующим образом:
[...]
2982E8FA push eax
2982E8FB вызов 29832E9B
2982E900 mov ax, word ptr [eax + 156h]
[...]
Приложение использует некоторые файлы .ocx от компании Infragistics для реализации GUI.Согласно утилите CrashFinder приведенный код сборки взят из файла IGTOOLBARS40.OCX
.