Я использую визуальный c# для отладки большого c# проекта. Проект является очень крупным, и только некоторые pdbs являются сборкой один. Я могу создать весь pdb однако, это является очень трудоемким. Я отлаживаю след, но часть трассировки отмечена с [Внешним кодом]. Я знаю, что некоторый pdb отсутствует, но как я могу знать, какой DLL внешний код находится? В C я могу добраться, EIP тогда видят построение карты процессов для определения, где EIP живет, но как это может быть сделано в среде .NET?
Войдите в Инструменты | Опции | Отладка | Общие и снимите флажок «Включить только мой код». Теперь Visual Studio покажет полный стек вызовов (по крайней мере, для управляемого кода вы все еще можете увидеть там некоторые «собственные переходы в управляемые»).
Итак, если ваш проект действительно такой большой, то я предполагаю, что все ваши классы хорошо разделяются в ваших пространствах имен и что все сборки названы в честь пространств имен, которые они содержат. Поэтому, если посмотреть, где начинается (или заканчивается) ваш внешний код, вы должны выяснить, откуда (или куда) идет вызов, и определить отсутствующую сборку pdb.