在Express版上的C#桌面应用程序。工作了,但5秒钟后就不工作了。
我尝试了以下方法。
我在解决方案中有两个WinForms项目。其中一个加载了调试信息,一个没有。它们都以完全相同的方式在项目文件中提到了我想获得调试信息的程序集。有什么想法吗?
我想在这里补充一下,主要是为了我自己,当我回来审查这个问题时,符号不会被加载,直到汇编被加载,而汇编也不会被加载,直到它被需要。如果断点在一个库中,而这个库只在你的主程序集的一个函数中使用,那么在调用该函数之前,符号不会被加载(并且会显示断点未被击中)。
开始调试,一旦你到达一个断点或使用Debug > Break All
,就使用Debug > Windows > Modules
。 你会看到一个所有加载到进程中的程序集的列表。 找到你想获得调试信息的那个。 右键单击它并选择符号加载信息。 你会得到一个对话框,其中列出了它寻找该程序集的.pdb文件的所有目录。 将该列表与实际的.pdb位置进行核对。 确保它没有找到一个旧的。
在正常项目中,程序集和它的.pdb文件应该总是被IDE复制到与你的.exe相同的文件夹中。 你项目的bin/Debug文件夹。 如果你一直在玩弄它,请确保从GAC中删除一个。