适用于 Windows 的最佳通用调试工具是什么?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1509522/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 13:13:26  来源:igfitidea点击:

What are best general purpose debugging tools out there for windows?

windowsdebugging

提问by DexTer

There are some nice debugging tools available for windows like

有一些不错的调试工具可用于 Windows,例如

Process Explorer Process Monitor Spy++ ( There is some variant of Spy++ like tool also available but I forgot name.. :( )

Process Explorer Process Monitor Spy++(也有一些类似 Spy++ 的工具的变体,但我忘记了名字..:()

All above tools are really handy to debug windows application...

以上所有工具对于调试 Windows 应用程序都非常方便......

Do you any other such tools(Windows or 3rd party) which can be used to make debugging task more ease ?

您是否有任何其他此类工具(Windows 或 3rd 方)可用于使调试任务更轻松?

采纳答案by nusi

WinCheatis like Spy++ but you can also get the sources for it. From time to time I also use WinDbg, netcat, WireShark, Beyond Compare, EmEditor and Directory Opus. Although I do most of my stuff in Visual Studio.

WinCheat就像 Spy++,但您也可以获得它的源代码。有时我也会使用 WinDbg、netcat、WireShark、Beyond Compare、EmEditor 和 Directory Opus。虽然我的大部分工作都是在 Visual Studio 中完成的。

回答by Daniel Rikowski

IDA Pro

国际开发协会专业版

When it comes to track down bugs in third-party components without access to the source code, nothing beats IDA Pro.

在无法访问源代码的情况下跟踪第三方组件中的错误时,没有什么比IDA Pro更好的了。

回答by C?t?lin Piti?

Visual Studio. Just attach to a process. If you have the symbol database and the source code... I consider it the most useful on Windows.

视觉工作室。只需附加到一个进程。如果你有符号数据库和源代码......我认为它在 Windows 上最有用。

回答by Lior Kogan

I wouldn't call Process Explorer or Process Monitor debugging tools. Though they may assist the debug process for centain kind of bugs, they are general-use process "exploration" tools.

我不会调用 Process Explorer 或 Process Monitor 调试工具。虽然它们可以协助调试过程中的各种错误,但它们是通用的过程“探索”工具。

According to Wikipedia, "Debugging is a methodical process of finding and reducing the number of bugs, or defects"

根据维基百科,“调试是发现和减少错误或缺陷数量的有条理的过程”

When you are "Debugging", you would usually have the source-code, and your best tool will most-likely be your development environment. However, there are many types of tools that may help, many of them are programming-language-dependant, such as:

当你在“调试”时,你通常会有源代码,你最好的工具很可能是你的开发环境。但是,有许多类型的工具可能会有所帮助,其中许多都依赖于编程语言,例如:

  • Debuggers (Naturally)
  • Code analyzers (Static/Dynamic)
  • Perofrmance tools (for performance-related bugs)
  • Monitors (Communications, resources, etc.)
  • 调试器(自然)
  • 代码分析器(静态/动态)
  • 性能工具(针对与性能相关的错误)
  • 监视器(通信、资源等)

According to your examples, You are probably looking for something else, Not debugging tools. What are you trying to accomplish?

根据您的示例,您可能正在寻找其他东西,而不是调试工具。你想达到什么目的?

回答by Daniel Rikowski

Recently API Monitorhas become a real live saver.

最近API Monitor已成为真正的救星。

It allows to debug a program and see which Windows API functions are called. Also the parameters which are passed to the function can be inspected. The same goes for return values.

它允许调试程序并查看调用了哪些 Windows API 函数。还可以检查传递给函数的参数。返回值也是如此。

回答by aviraldg

Although most people don't realize it , the best debugging tool is actually the IDE. If you have a good IDE (hint: Eclipse ; NOTVS) then half the problem is already solved. A Good IDE (tm) should:

虽然大多数人没有意识到,但最好的调试工具实际上是 IDE。如果您有一个好的 IDE(提示:Eclipse ;不是VS),那么问题已经解决了一半。一个好的 IDE (tm) 应该:

  • Offer good autocomplete
  • Have a good frontend to a debugger such as gdb
  • Show errors as you're typing(Eclipse JDT)
  • 提供良好的自动完成功能
  • 有一个很好的前端调试器,比如 gdb
  • 键入时显示错误(Eclipse JDT)

No matter how many debugging tools you have, it will always be problematic if the interface is not clean (VS) and if you're not comfortable with your IDE.

无论您有多少调试工具,如果界面不干净(VS)并且您对 IDE 不满意,它总是会出现问题。

回答by Yves Lange

What about Immunity Debugger ?

免疫调试器怎么样?