Прикрепление к проблеме процесса - PullRequest
2 голосов
/ 30 сентября 2011

В VS 2010 я прикрепил свой исходный код к процессу для целей отладки.Я установил точку останова на строку, которая, по словам моего журнала log4net, завершилась сбоем.

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

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

Пожалуйста, сообщите мне.

Thx

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

clear bp означает, что исходный код, который вы просматриваете, не выполняется.мы знаем это наверняка.

так что а) вы приложили неверный исходный код б) ваш исходный код устарел или иным образом точно не совпадает с двоичным файлом в) если у вас есть предварительно собранный двоичный файл, который выВы ссылаетесь на (dll или .lib), вероятно, вам нужно скачать официальные "символы отладки" - потому что бинарный файл "release" не содержит достаточно информации, чтобы соотнести его с исходным кодом.если они не предоставлены, вам может понадобиться перестроить стороннюю библиотеку из исходного кода, чтобы вы могли сделать отладочную сборку.

некоторое время не создавал Visual Studio, так что это может быть немного не так.

1 голос
/ 30 сентября 2011

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

Вы не выбрали неправильный исходный файл (скорее всего). Проблема в том, что Visual Studio нужно нечто большее, чтобы достичь заданной точки останова - ей нужны файлы pdb , которые, мы надеемся, были созданы при компиляции приложения, которое вы отлаживаете - У вас есть эти файлы? Вы скомпилировали в режиме отладки или выпуска?

Откройте окна модулей (Debug -> Windows -> Modules) и найдите свой dll / exe. Щелкните правой кнопкой мыши по этому и выберите «Информация о загрузке символа». Что это говорит?

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