精华内容
下载资源
问答
  • Windebug

    千次阅读 2012-04-17 14:27:18
    1、 安装drwtsn32(Dr.Watson win7没有了) 用户可以通过drwtsn32命令,查看dmp文件会被保存在何处。 2、 安装windbg,Windbg下载地址: ...    3、 设置windbg A、符号表路径设置   其中;srv*

    1、 安装drwtsn32(Dr.Watson win7没有了

    用户可以通过drwtsn32命令,查看dmp文件会被保存在何处。

    2、 安装windbg,Windbg下载地址:

    http://www.microsoft.com/whdc/devtools/debugging/default.mspx

     

     

    3、 设置windbg

    A、符号表路径设置(设置_NT_SYMBOL_PATH环境变量后,可以自动加载)

    D:\symbollocal;SRV*D:\symbolcache*http://msdl.microsoft.com/download/symbols

       

    其中;srv*d:/symbolslocal*http://msdl.microsoft.com/download/symbols设置的目的是下载该程序用到的操作系统相关的库函数的符号表到本地。

    B、源代码路径设置

    C、dmp文件导入

    载入dump文件显示如图:

    clip_image002

     

    图1.2 WinDbg界面

    2、  分析dump文件

    若生成的dump文件在本机,dump文件中将包含调试需要的PDB文件及源代码路径,若不在本机,可以通过WinDbg菜单[File] à [Symbol File path] 及 [Source File Path] 分别设置PDB文件路径和源代码路径(.sln路径)。如果程序涉及到DLL,需要将EXE、DLL所有涉及的PDB、源代码路径都包括。使用命令:

    !analyze –v

    将分析dump文件,并显示程序崩溃处于的代码行:

    clip_image003

     

    展开全文
  • WinDebug
  • Windebug调试工具

    千次下载 热门讨论 2012-07-26 15:25:37
    WinDebug 是一款调试工具可以调试进程的。
  • windebug教程

    2010-12-01 17:29:38
    WINDEBUG是微软提供的一款程序测试软件功能强大 其中一项是使用WENDEBUG检测蓝屏的原因 很实用
  • WinDebug培训资料

    2011-11-01 13:41:33
    WinDebug培训资料WinDebug培训资料
  • windebug常用命令

    2011-08-04 10:15:16
    windebug常用命令,windebug命令解释
  • WinDebug dump

    2015-05-06 16:45:54
    windebug dump

    得到了DUMP文件,如何将其中的信息拿到呢?这就需要借助工具 WinDebug了,工具下载地址:http://www.microsoft.com/whdc/devtools/debugging/default.mspx

    如果对该工具做全面了解,可能要穷尽很长的时间,幸运的是,我们无需使用太复杂的命令,直接将DUMP文件导入即可得到答案,如果不清楚,学会两行命令即可。

    开始DUMP文件的分析:
    1、看WinDbg的界面;

    2、不要直接打开DUMP文件,请按Ctrl+D,或从File中选择Open Crash Dump,选择目标文件;

    3、当文件加载后,我们可看到结果;

    4、下面就要借助我们丰富的网络资源了,将分析出的文件搜索一下,哗 ,好多的解决方法。

    展开全文
  • windebug相关资料

    2013-09-11 10:21:59
    windebug 以及一些相关的资料。
  • windebug使用

    2019-10-04 11:47:34
    2.打开windebug,设置Symbol path :srv*DownstreamStore*http://msdl.microsoft.com/download/symbols (这里注意这个网址一定要能打开) 3.设置Image path 4.打开 dmp文件(ctrl+d) 5.输入命令.load ...

    1.从进程中dump出dmp文件。从进程管理里 点击 【创建转储文件】

    2.打开windebug,设置Symbol path :srv*DownstreamStore*http://msdl.microsoft.com/download/symbols (这里注意这个网址一定要能打开)

    3.设置Image path

    4.打开 dmp文件(ctrl+d)

    5.输入命令 .load sos

    6.输入命令 .chain

    7.输入命令 !help( 寻求帮助)

    8.常用 :!ObjSize -aggregate -stat 查看对象个数和对象大小

     

    转载于:https://www.cnblogs.com/zhangzheny/archive/2013/01/14/2859447.html

    展开全文
  • Windebug 专题

    2019-03-28 15:31:14
    Windebug 专题 查找资料的常用网站,分享给大家 http://www.debuginfo.com/articles/easywindbg.html http://blogs.msdn.com/b/debuggingtoolbox/ http://bbs.cracktool.com/thread-12631-1-2.html ...

    Windebug 专题

    查找资料的常用网站,分享给大家

    http://www.debuginfo.com/articles/easywindbg.html

    http://blogs.msdn.com/b/debuggingtoolbox/

    http://bbs.cracktool.com/thread-12631-1-2.html

    http://analyze-v.com/?p=716

    http://msdn.microsoft.com/zh-cn/magazine/hh148143.aspx

    ---------------------

    windbg-windbg环境

    安装与配置 windbg 的 symbol (符号)

     

    第一步 下载WinDBG

     

    请通过此链接下载Web安装版的Windows SDK:

     

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en

     

    并在安装时清除所有组件的安装复选,并勾选“Debugging Tools for Windows”选项前的复选框进行安装。

     

    另外,也可以通过在以下链接下载以前版本的windbg工具:

     

    http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

     

    http://msdn.microsoft.com/zh-cn/windows/hardware/gg463016中文路径

     

    win8:http://msdn.microsoft.com/zh-cn/windows/hardware/bg127147,再直接选

    获取独立的调试工具(通过 Windows 8.1 SDK)

     

    (仅英文)

     

     

     

     

     

    您将需要检查是否有 WinDBG 更新版本,因为该小组似乎具有相当紧凑的发布日程安排,并且每隔几个月就会发布更新版本。

     

    下载对应的symbol包:

     

    XPSP3的:http://msdl.microsoft.com/download/symbols/packages/windowsxp/WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe

    其它系统:http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx#d(要下载retail版本,不要下checked)

     

       下完了解包到C:\WINDOWS\Symbols里(当然你也可以换任意位置),然后WINDBG里符号路径可以这样设置:C:\WINDOWS\Symbols;

    SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols

     

     

    第二步 双击下载的文件安装 windbg .安装时注意记住安装到那里了.

     

    第三步 windbg 访问符号需要两个文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主 path 环境变量中它们的路径进去,即:你的 windbg 安装目录.

     

    操作方法:在桌面我的电脑点右键--属性--高级--环境变量,在系统变量列表框中找到 path 双击,在变量值最后面加一个分号再把你的安装目录写上.点确定.

    这一步是告诉 windbg 那两个文件放在什么地方.

     

    第四步 新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

     

    操作方法:桌面我的电脑点右键--属性--高级--环境变量 ,点击新建,把上面的变量名和变量值填上.这一步的意思是说告诉 windbg ,我的符号文件存放在c:\mysymbol 中(当然其实里面什么也没有,甚至这个文件夹也不存在,不过没关系,系统找不到的话会给你创建一个,并在上面的网址中去帮你下载符号文件放在里面)

     

    第五步 运行 windbg 打开一个exe文件或者附加到一个进程里去, 你会看到 Symbol search path is: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

     

    打开c盘看到有一个新目录 mysymbol,里面有 windbg 新下载的文件.

     

     

     

    这样就差不多了,测试一下。选“内核调试-本地内核调试”,输入dt _EPROCESS,如果能列出EPROCESS结构则说明成功了。

     

    还有一点要说,如果想使用用户态的符号,要再加上一句C:\WINDOWS\Symbols\dll;,如果安装了360,还要关闭360的自我保护(单纯地退出360是不行的),可以在“木马防火墙-设置-保护360产品”下关闭,接着本地内核调试,要先输入.reload(不reload无法使用用户符号),如果出现以下字样就说明成功了(不关闭360自我保护会失败):

    lkd> .reload

    Connected to Windows XP 2600 x86 compatible target at (Mon Nov  1 09:36:58.439 2010 (GMT+8)), ptr64 FALSE

    Loading Kernel Symbols

    ...............................................................

    ................................................................

    ...

    Loading User Symbols

    ......................................

    Loading unloaded module list

    ................

     

        再来测试一下,输入u user32!ValidateHwnd(注:ValidateHwnd是user32.dll里一个未导出的函数),应该可以看到类似下面的输出:

    lkd> u user32!ValidateHwnd

    USER32!ValidateHwnd:

    77d184e0 64a118000000    mov     eax,dword ptr fs:[00000018h]

    77d184e6 85c9            test    ecx,ecx

    77d184e8 740c            je      USER32!ValidateHwnd+0x19 (77d184f6)

    77d184ea 3b88f4060000    cmp     ecx,dword ptr [eax+6F4h]

    77d184f0 0f84c6090100    je      USER32!ValidateHwnd+0x12 (77d28ebc)

    77d184f6 b201            mov     dl,1

    77d184f8 eb26            jmp     USER32!HMValidateHandle (77d18520)

    77d184fa 90              nop

     

    这样内核符号和用户符号就都能用了~

     

    windbg-.symfix、.srcPath、.srcnoisy、log文件(符号文件、源文件、log文件)

    symfix

     

    .symfix命令自动将符号路径设置来指向Microsoft 符号存储。

     

    比如,我原来设置的symbol file path为:

    https://img-my.csdn.net/uploads/201205/20/1337482802_2343.JPG

    那么使用了.symfix之后:

    https://img-my.csdn.net/uploads/201205/20/1337482883_9362.JPG

        0:000> .symfix

        No downstream store given, using C:\Program Files\Debugging Tools for Windows (x86)\sym

     

    这时symbol file path为:

    https://img-my.csdn.net/uploads/201205/20/1337483171_7258.JPG

    我们发现,系统强制把Microsoft 符号存储的路径覆盖了原有的路径,那么,要使用追加,请使用.symfix+,把原有的路径设回去再保存,再调用.symfix+

     

        0:000> .symfix+

        No downstream store given, using C:\Program Files\Debugging Tools for Windows (x86)\sym

     

     

     

    这时symbol file path为:

    https://img-my.csdn.net/uploads/201205/20/1337483479_5861.JPG

    我们注意到,每次都有提示

     

    No downstream store given, using C:\Program Files\Debugging Tools for Windows (x86)\sym

    这意思是我们没有指定下载符号的路径,默认使用调试器安装目录下的 sym 子目录,

     

    那么怎么自己加目录呢,比如,我想把符号下载存储到

     

    C:\MyLocalSymbols这个路径,我们可以这样使用它:把原有的路径设回去再保存,再调用.symfix+ C:\MyLocalSymbols

     

    0:000> .symfix+ C:\MyLocalSymbols

     

    后面不再提示什么No downstream....了

     

    这时symbol file path为:

     

    OK,现在这个.symfix应该掌握了,

     

     

    .srcpath

    类似于.sympath,设置源码路径

     

        0:000> .srcpath

        Source search path is: <empty>

        0:000> .srcpath+ d:\windbg\

        Source search path is: d:\windbg\

        DBGENG:  Scan paths for partial path match:

        DBGENG:    prefix 'd:\windbg\test1'

        DBGENG:    suffix 'test1.cpp'

        DBGENG:      match 'd:\windbg' against 'd:\windbg\test1': 14 (match '')

        DBGENG:  Scan paths for partial path match:

        DBGENG:    prefix 'd:\windbg'

        DBGENG:    suffix 'test1\test1.cpp'

        DBGENG:      match 'd:\windbg' against 'd:\windbg': -1 (match 'd:\windbg')

        DBGENG:      check 'd:\windbg\test1\test1.cpp'

        DBGENG:      found file 'd:\windbg\test1\test1.cpp'

    https://img-blog.csdn.net/20150812185518804?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

     

     

    windbg调试器如何知道为某个程序找到符号文件? 调试器需要两部分信息:符号路径的位置,它包括一组路径,以及存储在模块头部分于验证符号文件的信息.符号路径可以是一个本地文件夹、UNC共享连接,或者是在"符号服务器"一节中将要介绍的符号服务器路径。

     

    符号路径的形式很简单,它包括一组由分号(;)分隔的文件夹,符号文件的名字是从映射头部的CV记录中提取出来的,如果没有CV记录,那么也可以根据二进制文件的名字来生成。调试器将通过一种启发式算法在符号路径中搜索符号文件,并将每个找到的符号文件与模块信息进行匹配。如果没有找到匹配的符号文件,调试器将默认使用在模块中导出的符号。

     

     

      

     

     

     

      

    .srcnoisy

    .srcnoisy 命令控制源码文件加载的显示级别

    0 禁止对额外信息的显示。1 显示源文件加载和卸载的进行情况。2 显示符号文件加载和卸载的进行情况。3 显示选项1和2的所有信息。

     

        0:000> g

        Breakpoint 3 hit

        eax=00000002 ebx=7efde000 ecx=4f1e7d4c edx=6a521408 esi=001ef98c edi=001efa70

        eip=012430ed esp=001ef98c ebp=001efa70 iopl=0         nv up ei pl zr na pe nc

        cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

        test1!wmain+0x5d:

        012430ed 8bf4            mov     esi,esp

        DBGENG:  Scan paths for partial path match:

        DBGENG:    prefix 'd:\windbg\test1'

        DBGENG:    suffix 'test1.cpp'

        DBGENG:  Scan paths for partial path match:

        DBGENG:    prefix 'd:\windbg'

        DBGENG:    suffix 'test1\test1.cpp'

        DBGENG:  Scan paths for partial path match:

        DBGENG:    prefix 'd:'

        DBGENG:    suffix 'windbg\test1\test1.cpp'

        DBGENG:  Scan all paths for:

        DBGENG:    'd:\windbg\test1\test1.cpp'

        DBGENG:  Scan all paths for:

        DBGENG:    'windbg\test1\test1.cpp'

        DBGENG:  Scan all paths for:

        DBGENG:    'test1\test1.cpp'

        DBGENG:  Scan all paths for:

        DBGENG:    'test1.cpp'

        DBGENG:  Check plain file:

        DBGENG:    'd:\windbg\test1\test1.cpp' - found

     

    最后found!

    打开log

     

    在Edit--Open/Close log File:

     

    如果只输入名称,则默认在调试器windbg目录下生成,如果文件已存在,选了Append,则不会覆盖原有内容,否则会覆盖.

    https://img-my.csdn.net/uploads/201205/20/1337488262_7555.JPG

    再次打开,点击Close Open Log File可以把Log关闭,当前Log只记录从"Opened log file XX"到"Closing open log file"的内容,

     

    当然,Append勾选不会把以前的Log覆盖.

     

     

    windbg-!logexts(自带的监控API)

    Logexts.dll

     

    windbgth自带了跟进API的功能,这样我们可以方便的跟踪整个API的调用

    具体的示意图如下:

    https://img-blog.csdn.net/20151225145337893?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

     

    指令简介

    !logexts.logi

    将Logger注入目标程序,初始化监控,但是并不开启它。

    !logexts.loge

    开启监控,如果之前没有调用logexts.logi,这个扩展命令会先初始化监控,然后启动。

    !logexts.logd

    停止监控。这个命令会摘掉所有的Hook,从而让程序自由运行。不过COM的Hook并不会被摘除。

     

    !logexts.logo

    显示或者修改输出选项,这里有三种输出方式:1.在调试器中显示,2.输出到一个文本文件,3.输出到lgv文件。其中lgv文件会包含更多的信息,我们可以使用LogViewer进行查看。

     

    !logexts.logc

    显示或者控制监控的API分类。

     

    !logexts.logb

    显示或者刷新输出缓存。由于如果在监控过程中发生异常,那么扩展可能无法将记录的日志写入文件中,这个时候我们就需要这个命令,手动的将缓存中的数据写入文件。

     

    !logexts.logm

    显示和创建模块的包含/排除列表。这可以帮助我们指定记录那些特定模块中的API调用。

     

    官方介绍

     

    http://msdn.microsoft.com/en-us/library/windows/hardware/ff560170(v=vs.85).aspx

    示例

     

    !logexts.loge D:

    设置log的保持路径,并且开启监控

    !logexts.logc d *

    先关闭所有API分类的监控

    !logexts.logc

    查看API分类id

    !logexts.logc e 1

    设置想监控API分类

    !logexts.logo e *

    开启了所有输出方式,注意:如果想要被监控的程序响应的更快,可以去掉Debugger的输出,因为显示花费的时间比较的多。

    Logextse有高度可配置性。如果你想监控他描述以外的API,那么你可以自己写这个API的“头文件”。这里用引号是因为,它并不是真正的头文件,只不过他的语法和C的头文件非常的相似。我们可以看一个例子:

    创建%windbg_dir%winextmanifestContext.h

    并且写入这些内容

    category ActivationContext:

    module KERNEL32.DLL:

     

    FailOnFalse ActivateActCtx(HANDLE hActCtx, [out] PULONG_PTR lpCookie);

    FailOnFalse DeactivateActCtx(DWORD dwFlags, ULONG_PTR upCookie);

    在%windbg_dir%winextmanifestmain.h文件的最后加入一行 #include “Context.h”

    保存后,重启调试程序,输入!logexts.logc,可以看了多出了ActivationContext这一项。现在就可以选择这一项分类来监控ActivateActCtx和DeactivateActCtx了。

    最后自己随便写了个简单的script调用:

    .printf /D  "<link cmd=\"!logexts.loge c:\\cmdtree\\log\\ \">Enables logging</link>\n"

    .printf /D  "<link cmd=\"!logexts.logo e *\">sets Logger output</link>\n"

    .printf /D  "<link cmd=\"!logexts.logc e *\">Displays available API categories</link>\n"

    .printf /D  "<link cmd=\"!logexts.logb p;!logexts.logb f\">Displays current output buf</link>\n"

    .printf /D  "<link cmd=\"!logexts.logd\">Disables logging</link>\n"

    .printf /D  "<link cmd=\"!logexts.loge c:\\cmdtree\\log\\;!logexts.logc e *;!logexts.logo e *;!logexts.logb p;!logexts.logb f\">trace api calls</link>\n"

     

    效果如下:

    https://img-blog.csdn.net/20151225145641479?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

    展开全文
  • WinDebug+Doc

    2014-04-01 23:19:53
    压缩包中包含了Winddebug的免安装的客户端和一个详细的windebug的使用说名文档。很适合促学着学习,本人自己就是参考这个研究的。所以向大家推荐下。
  • WinDebug免安装版 可直接点击运行 附带高清pdf详细教材
  • Windebug X64 内存泄露

    2014-09-24 07:56:07
    windebug (X64) 调查内存泄露
  • WinDebug查找内存泄露

    千次阅读 2017-02-20 20:48:10
    WinDebug查找内存泄露
  • WinDebug 6.12

    2018-02-26 20:53:43
    windows蓝屏代码查看工具,windows debug tools。使用方法自己找。
  • Windebug Setup Via USB3.0

    2018-11-15 10:25:42
    Windebug Setup Via USB3.0
  • winDEBUG简单命令简介

    2010-07-20 12:24:13
    winDEBUG简单命令简介,查看起来简单,一学就可能会用,这个也许要看天赋值吧
  • WinDebug用法详解.pdf

    热门讨论 2010-03-21 20:30:13
    详细介绍WinDebug的用法,是调试破解程序的得力助手.
  • windebug工具使用–dump分析
  • WinDBG windebug 可查看Minidump 蓝屏信息
  • WinDebug用法详解

    2017-09-19 16:03:48
    WinDBG 是个非常强大的调试器,它设计了极其丰富的功能来支持各种调试任务,包括用户 态调试、 内核态调试、 调试转储文件、 远程调试等等。 WinDBG 具有非常大的灵活性和可扩展性, 用来满足各种各样的调试需求,...
  • windebug.rar

    2020-05-28 16:14:47
    windbg
  • Windebug.ppt

    2019-09-18 11:29:30
    教你如何一步步setup windows debug,让你能够在开发的时候能够快速定位问题所在。这个是微软提供的通用的windows debug技巧
  • Windebug的一个缺点

    千次阅读 2014-01-18 20:53:05
    最近碰到一些难fix的bug,开始借助Windebug调试应用程序,发现在使用windebug时有一个缺点。网上好多文章都提到可以通过配置环境_NT_SYMBOL_PATH= SRV*C:\My LocalSymbols*...
  • Windebug专题

    2019-03-28 15:36:28
    5 解决问题案例 !cs、~~[TID](经典死锁) 随手写的: #include <windows.h > CRITICAL_SECTION cs1; CRITICAL_SECTION cs2; DWORD __stdcall thread1(LPVOID lp) ... En...
  • Debugging Tools for Windows (windebug) 分析WINXP蓝屏原因的工具。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 775
精华内容 310
关键字:

windebug