什么很少使用你发现有用的调试工具?

时间:2010-02-12 16:27:04

标签: visual-studio debugging java-ee

您认为很少使用的调试工具有用吗? 我最近在Visual Studio上的调试情况需要在新建的32位DLL上捕获断点,该DLL由无GUI的可执行文件加载,该文件由远程x64机器上的COM +服务器生成,该服务器是通过实际GUI中的RPC调用的。像往常一样,所有32位机器都运行良好,但在“开发一台以外的机器”上仍然失败。所以远程调试是不可避免的。

因此,在将头撞到墙上2天之后,我在DLL附加入口点添加了10秒延迟,并使用了以前从未使用过的Microsoft远程调试器。它救了我的一天。

另一个最爱:Java JMX控制台作为性能“调试”工具。您可以在任何时候看到所有线程,内存图表,任何线程堆栈的快照。单击几次有助于找到J2EE应用程序中的确切速度。

7 个答案:

答案 0 :(得分:3)

Process Monitor和其他Mark Russinovich的工具。

答案 1 :(得分:1)

逻辑分析仪插入CPU引脚并能够反汇编执行的代码。我跟踪了嵌入式系统启动顺序中的一个错误。

答案 2 :(得分:1)

我发现printf最有用。

答案 3 :(得分:1)

这些 - 至少在我的经验中 - 在调试访问数据库的应用程序(即大多数)时似乎并不是许多人的直觉首选,也许它们应该是:

  • SQL事件探查器(SQL Server)
  • TKPROF(Oracle)

另一个有趣的组合是使用在虚拟机中运行的eclipse,访问远程服务器,在那里附加到Tomcat进程;并从两台不同的机器上同时调试两个不同的包。

答案 4 :(得分:1)

所有时间最喜欢的是depends.exe,用于找出dll或exe无法启动的原因http://dependencywalker.com/

对于性能,在我之前的工作中,我们曾经非常简单地使用C ++宏来对运行时函数调用进行统计。这比分析器要好得多,因为您可以从常规IDE中使用它,它允许您放大您正在优化的代码。

在我的新工作中,我写了一个相同想法的C#版本。

答案 5 :(得分:1)

如果你知道技巧和提示,那么WinDbg和其他低级调试器是最终的武器。

答案 6 :(得分:0)

对于Windows / .Net开发,我总是使用DebugviewIldasm