Отладка программы, которая не запускается - PullRequest
3 голосов
/ 25 февраля 2009

Как мне определить, почему не запускается приложение VB6 (или 5)? Я не могу подключить к нему отладчик из-за этого. У меня есть бесплатная программа IDA Pro, но мне нужны некоторые указания относительно того, с чего начать.

У меня нет источника для этой программы, только .exe. Когда я говорю, что он не запускается, я дважды щелкаю по .exe, и ничего не происходит - не осталось запущенного процесса - nadda.

При запуске под администратором он создает три пустых папки, а затем завершает работу без вывода сообщений перед отображением пользовательского интерфейса. OllyDbg говорит мне, что был «неточный результат с плавающей запятой», но мне нужно потратить несколько часов или дней на изучение всей информации, которую дает мне OllyDbg. Моя книга по Advanced Windows Debugging должна появиться и в понедельник или во вторник.

Ответы [ 15 ]

1 голос
/ 26 февраля 2009

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

1 голос
/ 25 февраля 2009

В вашем Sub Main вы должны убедиться, что есть оператор On Error Goto. Скорее всего, исключение бросается и не пойман. Попробуйте записать в файл журнала в обработчике ошибок и посмотреть, что вы получите.

0 голосов
/ 17 марта 2009

«Неточный результат с плавающей запятой» может иногда (редко, но случалось со мной) указывать на проблему с (плавающим) представлением чисел - например, когда программа пытается внутренне проанализировать некоторые жестко закодированные строки и предполагает, что десятичные дроби всегда разделяются по периодам или что-то подобное .

Попробуйте изменить системные языковые стандарты или просто формат чисел или валют (разделители десятичных дробей и тысяч).

0 голосов
/ 13 марта 2009

Еще одна идея, попробуйте запустить в режиме совместимости (щелчок правой кнопкой мыши, свойства, вкладка совместимости) с Windows 98 или Windows 2000.

Также предоставьте «Все» полный доступ к папке, в которой программа создает эти папки.

0 голосов
/ 13 марта 2009

Используя WinDBG, вы можете использовать «Открыть исполняемый файл» (или просто выполнить windbg {имя исполняемого файла}, чтобы мгновенно подключиться к отладчику к процессу во время его запуска в ntdll и остановиться на точке останова, пока он не получил ваш код и не запустил его из там (введите 'g') должно дать некоторую информацию о проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...