2019年11月28日

WinDbg常用命令系列---.cmdtree

摘要: .cmdtree 简介 使用形式 .cmdtree cmdfile 参数 cmdfile命令文件,包含多个你需要的命令。必须是一个文本档 使用步骤 1、使用命令创建文本文件test.wl,使用以下示例作为模板。您可以按所需方式修改{}之间的节: windbg ANSI Command Tree 1. 阅读全文

posted @ 2019-11-28 18:46 活着的虫子 阅读(736) 评论(0) 推荐(0) 编辑

正确创建本地C++发布构建PDBS

摘要: 在调试版本中遇到的一个问题是编译本地的C++应用程序。例如,许多局部变量消失了,因为代码生成器没有将它们放在堆栈上,而是将它们放在寄存器中,就像在调试生成中发生的那样。此外,release积极地构建对函数的内联调用,因此代码生成器将函数体直接放入调用方法中。一旦您习惯了编译器的模式,并了解了一点汇编 阅读全文

posted @ 2019-11-28 17:11 活着的虫子 阅读(389) 评论(0) 推荐(0) 编辑

PDB文件会影响性能吗?

摘要: 有人问了这样的问题:"我工作的公司正极力反对用生成的调试信息构建发布模式二进制文件,这也是我注册该类的原因之一。他们担心演示会受到影响。我的问题是,在发布模式下生成符号的最佳命令行参数是什么?还有什么地方我可以参考,以表明不应该有性能问题。“ 回答是:不,生成PDB文件对性能没有任何影响。至于我也可 阅读全文

posted @ 2019-11-28 16:45 活着的虫子 阅读(633) 评论(0) 推荐(0) 编辑

每个开发人员必须知道PDB文件知识

摘要: 大多数开发人员都意识到PDB文件有助于您进行调试,但仅此而已。如果你不知道PDB文件是怎么回事,不要觉得很糟糕,因为虽然有文档在那里,但它分散在周围,而且大部分是为编译器和调试器编写器准备的。虽然编写编译器和调试器非常酷和有趣,但这可能不是你的工作。我想做的是把每个在微软操作系统上进行开发的人都必须 阅读全文

posted @ 2019-11-28 16:28 活着的虫子 阅读(1456) 评论(0) 推荐(2) 编辑

Windbg妙用

摘要: 计算器 当你在调试,需要做一些从十六进制到十进制的简单转换,一些整数计算你不需要切换到calc.exe,你可以只使用windbg的表达式计算器。假设你得到了一个十六进制的大小,比如说2e903000,您可以转换并执行如下计算: 0:000> ?2e903000 Evaluate expression 阅读全文

posted @ 2019-11-28 15:10 活着的虫子 阅读(361) 评论(0) 推荐(0) 编辑

在x64计算机上捕获32位进程的内存转储

摘要: 这是一个我经常遇到的问题,我们经常会遇到这样的情况:我们必须重新捕获内存转储,因为内存转储是以“错误”的方式捕获的。简而言之:如果在64位计算机上执行32位进程,则需要使用允许创建32位转储的工具捕获转储。 怎么知道进程是32位的? 如果您在64位计算机上,可以检查任务管理器以查看您的进程正在使用的 阅读全文

posted @ 2019-11-28 14:22 活着的虫子 阅读(874) 评论(0) 推荐(0) 编辑

为什么我的堆栈上会有奇怪的函数名?(关于符号的讨论)

摘要: 符号可以包含有关全局变量、局部变量、函数名、参数、结构和源行号的信息。符号有三种类型:导出符号、pdb符号(公共符号)和专用pdb符号(专用符号)。导出符号是dll本身的一部分。例如,ntdll.dll和kernel32.dll将其函数的很大一部分公开为导出符号,因此可以将它们称为API,但是在进程 阅读全文

posted @ 2019-11-28 13:42 活着的虫子 阅读(700) 评论(0) 推荐(0) 编辑

将windbg与.dmp文件关联

摘要: 如果您厌倦了启动调试器、加载转储文件、设置sympath、加载扩展名等,这里有一个很好的方法,可以在.dmp文件的上下文菜单上获取“调试此转储文件”,并自动加载所有您喜欢的命令。首先创建一个包含以下内容的.reg文件(在修改注册表时一定要非常小心) Windows Registry Editor V 阅读全文

posted @ 2019-11-28 10:39 活着的虫子 阅读(412) 评论(0) 推荐(0) 编辑

在windbg调试.net时遇到的问题

摘要: 调试.net应用程序时,有时会在windbg中收到错误消息。以下是我最常遇到的几个问题。 Failed to start stack walk 启动堆栈遍历失败 如果你运行sos命令!clrstack在线程上显示.net堆栈,而此线程是.net线程,但它当前未运行任何.net代码,sos将提示失败“ 阅读全文

posted @ 2019-11-28 09:16 活着的虫子 阅读(471) 评论(0) 推荐(0) 编辑

导航