问题标签 [windbg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4788 浏览

c++ - __vftptr 为 NULL

我们收到了来自客户站点的故障转储。我看到在 nstack 上的一个结构中,__vfptr 是 NUL。

它是否总是指向有问题的条件(内存溢出,删除对象两次......)或者是否存在此指针可以为空的情况。

0 投票
2 回答
3671 浏览

com - 我可以在 windbg 中显示 GUID 吗?

我正在尝试调试一些 COM 组件,并希望在对 CoCreateInstance 的调用中跟踪 CLSID 和 IID。

我不确定如何在 windbg 中显示 GUID。任何指针。

0 投票
3 回答
32554 浏览

windbg - windbg:命令输出到文本文件

如何将 WinDbg 中的命令输出保存到文本文件?

0 投票
3 回答
772 浏览

visual-studio - 调用栈和反汇编疑问

三个疑惑 1)假设我得到的调用堆栈如下

现在每个函数末尾提到的字节是什么?就像第一个语句一样,什么是 0x28 字节。

2) 如何在 VS 的 windows 系统 dll 上设置断点?在windbg中,我可以搜索windows系统dll的特定功能

使用此命令,我可以获得此函数的地址并可以放置断点。我可以在 Visual Studio 中做同样的事情吗?

3) 我没有 dll 的符号文件。我在反汇编中得到的调用堆栈是

__imp__上面的调用堆栈中有什么?这是否意味着这个 windows 函数与其他一些 dll 挂钩?

0 投票
1 回答
10322 浏览

windbg - 如何阻止 windbg 成为交互式调试器?

在 vista/win7 上撤消windbg -I的正确方法是什么?

是否像删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug 中的注册表项一样简单?

0 投票
1 回答
4816 浏览

assembly - 如何从windbg中的函数获取返回值?

我正在尝试调试一些 win32API,例如返回句柄的 Createthread。如何获取windbg中的返回值?

我做了一些研究,发现返回值通常存储在 EAx 寄存器中。

如果我在 CreateThread 上放置断点,那么我可以进入 Createthread 的程序集,最终我将点击 ret 语句,这意味着 Createthread 正在返回。

此时我应该检查 EAX 寄存器的值以获取 HANDLE 值还是其他方式?

0 投票
1 回答
717 浏览

debugging - WinDbg 使用已知模块

我正在调试一些 Windows API 和堆栈跟踪显示Unloaded_hext.dll。我找不到这个 DLL。即使没有符号,WinDbg 也会输出这个 DLL 名称。进程监视器无法找到此 dll。

为什么以“卸载”为前缀?这是由 WinDbg 完成的还是有什么技巧?

在运行lm命令时,我可以hext.dll在卸载模块部分看到。但是,如果它被卸载,那么为什么它会被堆栈跟踪显示?

0 投票
2 回答
698 浏览

memory-management - 我在 WinDbg 中获得了一个大型托管对象的地址,接下来呢?

我创建了一个高内存利用率转储并使用 !dumpheap -stat 和 !dumpheap -mt 我得到了两个 30 MB 的大字符串通用列表的地址。

我想了解更多关于这些列表的信息。它们包含什么或哪段代码正在使用它们。

有没有办法找到它们?

0:000>!do 2b370038 名称:System.Object [] MethodTable:71e240bc EEClass:71c0da54 大小:33554448(0x2000010)字节数组:排名 1,元素数 8388608,类型 CLASS 元素类型:System.Collections.Generic.List` 1[[System.String, mscorlib]] 字段:无

0 投票
1 回答
1162 浏览

.net - 使用 Visual Studio 和 WinDbg 服务器进行远程调试

是否可以将 WinDBG 用作服务器(而不是 Visual Studio 远程调试器)并使用 Visual Studio 连接到它?

0 投票
3 回答
1505 浏览

debugging - StackOverflow 和进程关闭后的 Windbg 线程 ID

使用 ADPlus(在故障转储模式下)生成 .dmp 文件。未处理异常的最终序列(产生完整的内存转储文件)是......

第一次机会 DLL 卸载:包含线程 ID,但不包含 StackOverflowException(我不希望它出现,因为此时尚未引发异常)。

第一次机会 Stackoverflow:包含线程 ID,但不包含 StackOverflowException。

第一次机会进程关闭(关闭):包含 StackOverflowException 但不包含线程 ID。

???

有没有办法通过配置 ADPlus 或通过在 Windbg 中运行命令来捕获异常并访问线程 ID?

作为对 Magnus 的回应,如果线程 ID 不可用,是否有一些有用的信息?运行 !threads 返回一些信息,但没有线程 ID 和异常,似乎没有其他地方可以从那里去。在这种情况下,运行 !clrstack 似乎比运行 !threads 更有用。