Десктоп приложение на C# в експресно издание. Работи, а след 5 секунди не работи.
Опитах следното.
Имам два WinForms проекта в решението. Единият от тях зарежда информацията за отстраняване на грешки, а другият - не. И двата се отнасят към асемблито, за което се опитвам да получа информация за отстраняването на грешки, по абсолютно същия начин във файла на проекта. Някакви идеи?
Искам да добавя тук, най-вече за себе си, когато се върна да прегледам този въпрос, че символите не се зареждат, докато не се зареди асемблито, а асемблито не се зарежда, докато не е необходимо. Ако точката на прекъсване е в библиотека, която се използва само в една функция в главното ви асембли, символите няма да бъдат заредени (и ще се покаже, че точката на прекъсване не е достигната), докато не се извика тази функция.
Започнете да отстранявате грешки, веднага след като сте достигнали до точка на прекъсване или сте използвали Debug > Break All
, използвайте Debug > Windows > Modules
. Ще видите списък на всички сглобки, които са заредени в процеса. Намерете това, за което искате да получите информация за отстраняване на грешки. Щракнете върху него с десния бутон на мишката и изберете Symbol Load Information (Информация за зареждане на символи). Ще получите диалогов прозорец, в който са изброени всички директории, в които е търсен .pdb файл за асемблито. Сравнете този списък с действителното местоположение на .pdb файла. Уверете се, че не е намерен стар файл.
В нормалните проекти асемблито и неговият .pdb файл трябва винаги да са били копирани от IDE в същата папка като вашия .exe файл. Папката bin\Debug на вашия проект. Уверете се, че сте я премахнали от GAC, ако сте'играли с нея.
Просто нещо просто за опитване - може би вече сте го опитвали. Щракнете с десния бутон на мишката върху решението в изследователя на решения, щракнете върху "clean solution", това изтрива всички компилирани и временни файлове, свързани с решението.
Възстановете решението и опитайте да отстраните грешките отново.
Имах също така проблеми с точките на прекъсване на няколко проекта в едно решение - някои компилирани като x86, други като x64.