我正在测试DLL,BeamController.dll的部署,通过从测试程序Caller1调用它。
BeamController和Caller1都是C#,。Net 4.5程序;每个都在他们自己独立的Visual Studio项目中。 Caller1是WPF。
我将BeamController.dll移动到C:\ temp( N.B。只是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项目的构建设置控制了什么?
答案 0 :(得分:1)
它是DLL和匹配的PDB文件的混合体。 PDB文件实际上指向磁盘文件和行号,这是调试器跟踪的一种方式。