2014-01-21 4 views
1

Я тестирую развертывание DLL, BeamController.dll, вызывая его из тестовой программы Caller1.Как найти исходный код?

BeamController and Caller1 - это программы C#, .Net 4.5; каждый в своих собственных проектах Visual Studio. Caller1 - это WPF.

я переехал BeamController.dll в C: \ Temp (нотабене только DLL, а не PDB) и в проекте Caller1 я сделал ссылку на надстройку, чтобы забрать его. В моем коде в Caller1 я создаю экземпляр класса BeamController и вызываю метод. Соответствующий код здесь. , ,

using BeamController; 

namespace Caller1 
{ 
    public partial class MainWindow : Window 
    { 
     private CBeamController BC; 

     public MainWindow() 
     { 
      InitializeComponent(); 
      BC = new CBeamController; 
      BC.SetFocusLog(1, "C:\\temp\\log.txt"); 
     } 
    } 
} 

Он строит и работает отлично. Вот мой вопрос: Если я запустил Caller1 в отладчике, и я вхожу в метод SetFocusLog(), он вступает в исходный код этого метода в коде BeamController. Откуда он знал, где этот исходный код? Я предполагаю, что некоторые ссылки на него должны храниться в DLL. Какие настройки сборки для проекта BeamController контролируют это?

ответ

1

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

+0

Точно. PDB отслеживает исходное местоположение диска кода, а также код, а VS IDE достаточно умен, чтобы попытаться загрузить его в этом месте для вас при отладке. – Haney

+0

Я только переместил DLL, а не файл PDB. – user316117

+0

В этом случае вы не сообщаете нам целый пакет информации. Например, как вы начали отлаживать его (если он не был запущен из Visual Studio) для начала. –

Смежные вопросы