windbg相关内容

_NT_SYMBOL_PATH 格式

我正在尝试更多地使用windbg,但符号缓存一直存在问题.我不清楚字符串的格式应该是什么. 我有几个要求: 使用微软的服务器http://msdl.microsoft.com/download/symbols立>使用我们软件中存档在 \\foo\Build1234 的符号 在 c:\dev\symbols 使用本地缓存 我们在 \\foo\Build1234 上的分布式构建的符 ..
发布时间:2021-09-25 19:29:25 其他开发

我可以禁用“无法读取动态函数表条目"吗?WinDbg 中的消息?

我正在使用一个在运行时生成大量代码的程序,并且似乎没有为其生成任何展开数据.(我没有这个程序的源代码;我正在为它编写一个插件.) 当程序挂起时,我使用 WinDbg 进入它,并尝试使用 ~* k 获取所有线程的堆栈跟踪.除了堆栈跟踪外,我还沿着 无法读取 00000000`2450b580 处的动态函数表条目 这需要很长时间来打印 - 超过一分钟 - 并且它溢出了滚动缓冲区,所以我丢失了 ..
发布时间:2021-09-25 19:29:17 其他开发

如何避免将 DbgCommand 命令写入日志文件

我在使用 Pykd.pyd 时遇到了一个烦人的问题:我在脚本中使用它,启动几个 DbgCommand 函数,例如: DbgCommand("dt 0x000000eab8748430 CMap m_nCount") 这用于获取CMap 对象的大小.由于这是在脚本中完成的,使用了大量对象,我在 Windbg 中使用日志文件(菜单 edit,Open/Close Log File>),这是一个问题 ..
发布时间:2021-09-25 19:29:15 Python

从故障转储中获取 GDI 句柄计数的命令

我有一个崩溃转储,我怀疑 GDI 泄漏是崩溃的原因 是否可以从完整的崩溃转储中找出我的进程崩溃时使用的 GDI 句柄数? 解决方案 我创建了一个 Windbg 脚本来从 GDI 句柄表中转储所有 GDI 句柄.请参阅 https://aloiskraus.wordpress.com/2016/06/25/show-gdi-handles-by-type-in​​-windbg/ ..
发布时间:2021-09-25 19:29:09 其他开发

当寄存器具有特定值时中断?

当将特定值分配给 eax 寄存器时,有什么方法可以使 Windbg 中断?我知道我的程序中的一个函数正在返回一个特定的错误,这样可以很快找到有罪的. 解决方案 您可以在所有可疑函数上设置断点,然后像这样检查 eax 寄存器值: bp myAddress ".if (@retreg == dodgyVal) {遍历堆栈并做其他很酷的事情} .else {gc}" 参见条件断点 以及 伪- ..
发布时间:2021-09-25 19:29:06 其他开发

WinDbg:对 .if 中的条件使用命令

WinDbg 具有用于条件执行命令的 .if 语句: .if(条件){ 命令} .else { 命令} 对于条件,不能使用 WinDbg 命令.是否有任何间接方式使用条件命令,例如通过伪寄存器? 要完成的示例任务:如果已打开日志文件,则不执行任何操作.如果没有打开日志文件,请使用 .logopen/t/u/d 使用 .logfile,我可以找出日志是否打开.但是如何解析该输出以及 ..
发布时间:2021-09-25 19:29:03 其他开发

WinDBG - 如何设置要传递到应用程序的所有异常?

如何将所有异常行为设置为传递给应用程序而不出现在调试器中? 我使用的是 IDA Pro 6.6 和 WinDbg. 解决方案 一次对所有异常类型这样做有点尴尬 .foreach(exc {sx}) {.catch{sxd ${exc}}} 它的作用: {sx}:列出所有异常类型(以及您实际上不想要的当前设置) exc:赋值一个变量 .foreach(...) {...} ..
发布时间:2021-09-25 19:29:00 其他开发

未能加载数据访问 DLL,0x80004005

0:025>!pe未能加载数据访问 DLL,0x80004005验证 1) 您有最新版本的调试器(6.2.14 或更高版本)2)与您的 mscorwks.dll 版本匹配的文件 mscordacwks.dll 是在版本目录中3) 或者,如果您正在调试转储文件,请验证该文件mscordacwks___.dll 在您的符号路径上.4) 您正在与转储文件相同的架 ..
发布时间:2021-09-25 19:28:55 其他开发

使用 WinDbg 将 Managed Byte[] 的内容写入文件

我有来自生产服务器的故障转储,显示 OutOfMemoryException.异常本身与此处无关. 我碰巧运行了一个 !dso 来查看堆栈对象: 0:042>!dso操作系统线程 ID:0x1014 (42)ESP/REG 对象名称246eeb24 109a21bc System.UnhandledExceptionEventHandler246eeb2c 39083998 System. ..
发布时间:2021-09-25 19:28:52 其他开发

如何在 WinDbg 中启动时制作“.cmdtree"窗口停靠栏?

我已关注 Tess Ferrandez 的博客,用于在 WinDbg 中设置自定义主题. 我也开始使用 -c ".cmdtree c:\mycmdtree.txt" 自动启动 WinDbg 这正确地将我的 cmdtree 文件作为命令窗口打开,但我无法让它正确停靠.问题似乎是“命令"窗口只能在您打开 DMP 文件后才能打开,但打开 DMP 文件会将您切换出“基本"工作区,因此不会保存对 ..
发布时间:2021-09-25 19:28:46 其他开发

将 WinDbg 设置为默认调试器

每当我的应用程序抛出未处理的异常时,我都希望 WinDbg 在我的调试机器上捕获该异常,而不是 博士.Watson 等.如何配置? 解决方案 运行 windbg -I 以在默认的事后调试器中安装它. 正如 Kurt 在下面指出的,WinDbg 有 32 位和 64 位版本.执行 windbg -I 为与调试器位数对应的进程设置事后调试器. 如果您需要同时安装 32 位和 64 ..
发布时间:2021-09-25 19:28:43 其他开发

.loadby 不起作用,但 .load 运行良好

当我尝试使用windbg时, .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll 完美加载 SOS 扩展. 但是当我尝试使用建议的模式时 .loadby SOS 或 .loadby sos.dll 我只能收到一条错误消息,指出“扩展字符串中的语法错误". 我试图用谷歌搜索此错误消息,但没有找到任何有用的 ..
发布时间:2021-09-25 19:28:40 其他开发

无法验证 exe 的校验和

嗨,我还附上了 exe 和符号的故障转储.但我收到此错误: 无法验证 abc.exe 的校验和. 这是什么原因? 解决方案 当 PE 标头中的校验和不可验证时发出无法验证校验和. 如果有问题的 exe 是在没有使用 /RELEASE 链接器选项的情况下编译和链接的,就会发生这种情况. 基于普通项目的编译链接器设置此选项.基于 nmake 或批处理文件的编译可以省略此 ..
发布时间:2021-09-25 19:28:37 其他开发

使用 WinDbg 从委托中获取方法名称

我有以下委托对象转储: 名称:MyEventHandler方法表:132648fcEEClass: 1319e2b4大小:32(0x20) 字节领域:MT 字段偏移类型 VT Attr 值名称790fd0f0 40000ff 4 System.Object 0 实例 014037a4 _target7910ebc8 4000100 8 ...ection.MethodBase 0 实例 0000 ..
发布时间:2021-09-25 19:28:35 其他开发

在没有整个 WDK 的情况下获取windbg?

有谁知道如何在无需下载整个 620MB WDK ISO 的情况下获得 Windbg? 我在网上能找到的下载调试器的链接就是这个链接,它说你必须得到整个 WDK:http://www.microsoft.com/whdc/devtools/debugging/default.mspx. 解决方案 实际上,Microsoft 现在已经使调试工具可以与 SDK 分开下载.查找有关中页的“W ..
发布时间:2021-09-25 19:28:32 其他开发

WinDbg 可以连接到远程运行的调试对象的标准输入吗

我很难使用 WinDbg 控制我的应用程序,我已经发布了我的问题 此处 并离开了这种方法,因为我无法找出如何实现这一目标的方法.现在我正在研究在断点被击中后的方法,我想分支我的应用程序执行并提示运行调试器的用户输入. DWORD dwRand = 0;volatile bool bDebug = false;如果 (!bDebug){dwRand = Rand(minValue, maxValu ..
发布时间:2021-09-19 18:59:03 C/C++开发