Отладка скомпилированного приложения .NET 2.0 - PullRequest
1 голос
/ 07 мая 2010

Я не знаю, передам ли я всю необходимую информацию здесь, но меня только попросили опубликовать этот вопрос здесь, и я не совсем по этому вопросу.

СуществуетПриложение .NET Framework 2.0, скомпилированное в режиме отладки с параметром jitDebugging, установленным в true в app.config

<system.windows.forms jitDebugging="true" />

После любого сбоя мы получаем диалоговое окно, позволяющее нам отправить отчет или отладить программу.Когда мы выбираем отладку и выбираем правильное VS, IDE запускается, но с объявлением:

Ни один символ не загружен ни для одного кадра стека вызовов.Исходный код не может быть отображен.

и

Разборка не может быть отображена в режиме работы.

Есть ли возможность увидетькод или место, где произошел сбой?

// edit:

Совет Таршера был в порядке, но окончательным решением было ... добавить модуль с методом Main () изаставить проект использовать его - каким-то образом благодаря этому VS смог отобразить код и найти источник исключения.

Ответы [ 3 ]

2 голосов
/ 07 мая 2010

убедитесь, что у вас есть файлы .pdb вместе с файлами .dll в вашем приложении.

1 голос
/ 07 мая 2010

Не уверен, как выглядит сценарий развертывания, но запуск отладчика на клиентском или производственном компьютере обычно не очень практичен.Напишите обработчик события для события AppDomain.UnhandledException и отобразите значение e.ExceptionObject.ToString ().Как минимум, ваш клиент может отправить вам снимок экрана.Вы получите сообщение об исключении и хорошую трассировку стека, показывающую, как ваша программа попала в беду.Обычно на 95% достаточно, чтобы увидеть, что пошло не так.

1 голос
/ 07 мая 2010

Ваше приложение .net создаст файл дампа после сбоя. Вам нужно загрузить этот файл дампа вместе с файлом pdb приложения, чтобы увидеть ваш исходный код. Эти файлы pdb создаются при компиляции и хранении отладочной информации о программе.

В вашем случае Visual Studio может не найти файлы pdb и загрузить их.

...