我正在从 QTP 加载一个 dll (c#)。qtp测试开始时是否可以调试c#代码。
问问题
626 次
2 回答
5
是的,您可以调试到 dll 中,但是您将需要源代码(除非您想查看反汇编),并且您还需要用于程序集的 PDB(调试符号)。它很容易设置...
- 启动 QTP 应用程序
- 启动视觉工作室
- 打开源代码并确保 pdb 与 dll 位于同一目录中
- 在VS中转到调试菜单并选择附加到进程
- 在进程列表中,选择QTP进程,点击“附加”
- 在代码中设置断点
- 启动执行代码的测试,如果一切顺利,你应该点击断点
注意:如果断点未命中,VS 可能找不到 PDB,您需要在 VS 的选项中添加路径(或其他东西以便它可以找到它们)。
此外,如果仍然无法正常工作(主要是在查看发布构建的代码时),请尝试在“工具”->“选项”->“调试选项”页面中关闭“仅启用我的代码”。
更新:回答评论...如果您转到工具->选项...在左侧列表中选择“调试”并展开它,然后选择“符号”,您可以在其中添加路径以供 VS 搜索符号。此外,如果您没有确切的符号,您可以右键单击断点并选择位置并选中允许符号不同步的选项。
希望这可以帮助!
于 2009-10-09T14:05:47.553 回答
2
您可以插入调用Debugger.Break()
并运行外部应用程序,当到达断点时,Windows 会为您提供调试异常。
选择调试将使您能够在 Visual Studio 中中断后运行代码并在代码中设置断点。
如果您使用的是 Vista/Win7,您可能需要启用调试 - 查看这篇文章以了解如何操作。
于 2009-10-09T13:56:55.700 回答