从其他应用程序调试到C#代码

时间:2009-10-09 13:48:16

标签: c# qtp

我正在从QTP加载一个dll(c#)。是否可以在qtp测试开始时调试c#代码。

2 个答案:

答案 0 :(得分:5)

是的,您可以调试到dll,但是您需要源代码(除非您想要查看反汇编),并且还需要PDB(调试符号)进行汇编。这很容易设置......

  1. 启动QTP应用程序
  2. 启动visual studio
  3. 打开源代码并确保pdb与dll
  4. 位于同一目录中 在VS中
  5. 进入调试菜单并选择附加到进程
  6. 在流程列表中,选择QTP流程并单击“附加”
  7. 在代码中设置断点
  8. 启动执行代码的测试,如果一切正常,则应该点击断点
  9. 注意:如果没有命中断点,VS可能找不到PDB,你需要在VS中的选项中添加一个路径(或者它可以找到它们)。

    另外,如果仍然无效,请尝试在工具 - >选项 - >调试选项页面中关闭“仅启用我的代码”(主要是在查看发布内置代码时)。

    更新:回答评论...如果您转到工具 - >选项...在左侧列表中选择“调试”并展开,然后选择“符号”即可为VS添加路径以搜索符号。此外,如果您没有确切的符号,可以右键单击断点并选择位置,然后选中允许符号不同步的选项。

    希望这有帮助!

答案 1 :(得分:2)

您可以插入对Debugger.Break()的调用并运行外部应用程序,当达到断点时Windows将提供您调试异常。

选择调试将使您能够在Visual Studio中的中断后运行代码,并在代码中设置断点。

如果您使用的是Vista / Win7,则可能需要启用调试 - 请查看this post以了解具体方法。