调试.Net库,提供VS解决方案外部的DLL文件

时间:2014-07-29 11:06:17

标签: c# debugging visual-studio-2012 dll

我正在使用负载模拟性能工具,它使用.NET 4.5中的用户脚本 该工具创建了一个Visual Studio解决方案(VS2012 express)。 我想使用断点来调试脚本,但我不能,因为在执行测试工具时,会编译解决方案并将DLL文件复制到解决方案目录树之外的位置。

例如:

负载模拟工具创建的工作空间位于:

  

c:\ Load Projects \ myProject

visual studio解决方案保存在目录树中:

  

c:\ Load Projects \ myProject \ repository \ VSSolution

但是当我开始加载模拟时,VS解决方案被编译并且内容被复制到临时目录:

  

C:\ loadCache \ myProject的

有没有办法调试位于VS解决方案之外的DLL;给VS调试DLL的位置?

2 个答案:

答案 0 :(得分:1)

在脚本项目中确保您设置构建属性以生成调试信息(pdb文件)。您可能需要在Debug和Release版本上设置它。确保将pdb文件与同时构建的dll一起复制到临时目录。 pdbs包含用于创建它们的源代码的位置。

开始模拟时,需要将Visual Studio调试器附加到正在执行脚本的模拟器进程(请参阅http://msdn.microsoft.com/en-us/library/3s68z0b3(v=vs.110).aspx)。 (您可能需要将“附加到”设置为托管代码)。这应该可以让你调试脚本。

答案 1 :(得分:0)

如果您有权访问该项目,那么您通常所做的就是将VS引用从.dll更改为该项目。 enter image description here

如果你没有那么没有开箱即用的解决方案,但是很少有解决方法,所有这些都涉及使用外部工具。
一个是use Resharper.allows you to debug 3rd party dlls. 其他的就是使用。NET Reflector我认为可以免费找到版本6。

除此之外,你运气不好。