亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

Windows進程崩潰問題的定位方法

2020-01-26 15:07:58
字體:
來源:轉載
供稿:網友

Linux上進程崩潰通常會生成core文件,用gdb打開后執行bt命令即可查看堆棧。而在Windows平臺上,我們通常會采用MiniDumpWriteDump來進行堆棧轉儲,而這需要對系統Api有一定的了解和編寫一些代碼。本文就結合實際項目經驗,總結了一種無需編碼即可記錄進程崩潰堆棧的方法。

原理簡介:使用nstd工具進行進程崩潰時內存和堆棧轉儲。

編譯Release版本時打開調試選項,將exe和pdb文件一起發布。

2.使用批處理命令設置Windows系統在進程崩潰時調用的調試器為ntsd

復制代碼 代碼如下:

@reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug" /v "Auto" /t REG_SZ /d "1" /f

該批處理指令,設置AeDebug調用前是否需要彈消息框確認?默認為0,設置1表示自動處理不彈確認框。如果大家安裝過Visual Studio,可能都遇到過下列彈框:

這就是VS設置了AeDebug調試器后,遇到進程崩潰,然后彈框確認是否要附加到該進程進行調試的過程。

然后設置ntsd的調試轉儲指令:

復制代碼 代碼如下:

@reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug" /v "Debugger" /t REG_SZ /d "D:/Dump/ntsd.exe -p %%ld -e %%ld -g -c /".dump /ma /u D:/Dump/dump.dmp; .logopen /t D:/Dump/dump.txt; .time; .echo Process Status:; ^|; .echo Thread Status:; ^~; .echo Stack Status:; kpn; .logclose; q/"" /f

我把的ntsd程序拷貝到d:/dump目錄。

-p %%ld  傳入進程ID,-c 執行dump指令:echo 打印線程信息,線程堆棧,最后再退出。

批處理安裝腳本和ntsd程序我都已經打好包了,可以到這里下載。

3.下面通過一個實例來演示下效果:

復制代碼 代碼如下:

#include <stdio.h>

void test2()
{
     int a = 1;
     int b = 0;
     int c = a/b;   
}

void test1()
{
    test2();
}

int main(int argc, char** argv)
{
    test1();

    return 0;
}

我們通過除0錯誤來構造一次崩潰,test1和test2是為了演示調用堆棧。

通過本方法抓取的堆棧文本如下:

復制代碼 代碼如下:

Opened log file 'D:/Dump/dump_22d4_2014-09-30_15-15-33-062.txt'
Debug session time: Tue Sep 30 15:15:33.063 2014 (GMT+8)
System Uptime: 2 days 3:35:54.545
Process Uptime: 0 days 0:00:00.923
  Kernel time: 0 days 0:00:00.015
  User time: 0 days 0:00:00.000
Process Status:
.  0 id: 3854 attach name: D:/xcb/20140808/test/CoreDump/DumpExampleNormalStack.exe
Thread Status:
.  0  Id: 3854.3138 Suspend: 1 Teb: 7ffdf000 Unfrozen
Stack Status:
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:/Windows/SYSTEM32/ntdll.dll -
 # ChildEBP RetAddr 
002dfb2c 01321038 DumpExampleNormalStack!test2(void)+0x18
002dfb34 01321048 DumpExampleNormalStack!test1(void)+0x8
002dfb3c 01321159 DumpExampleNormalStack!main(int argc = 1, char ** argv = 0x003ea488)+0x8
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:/Windows/system32/kernel32.dll -
002dfb84 76e2ee1c DumpExampleNormalStack!__tmainCRTStartup(void)+0xfe
WARNING: Stack unwind information not available. Following frames may be wrong.
002dfb90 77ba37eb kernel32!BaseThreadInitThunk+0x12
002dfbd0 77ba37be ntdll!RtlInitializeExceptionChain+0xef
002dfbe8 00000000 ntdll!RtlInitializeExceptionChain+0xc2
Closing open log file D:/Dump/dump_22d4_2014-09-30_15-15-33-062.txt

切記:在Release版本中需要把調試選項打開,而且生成的pdb文件和exe要放在同一目錄下。

完~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲欧洲黄色| 久久精品国产久精国产思思| 成人h视频在线观看播放| 欧美日韩亚洲高清| 性色av一区二区三区在线观看| 久久久久久中文字幕| 成人两性免费视频| 97成人精品区在线播放| 亚洲国产三级网| 欧美激情免费在线| 欧美性xxxxhd| 成人网在线视频| 欧美高清性猛交| 国产亚洲欧美日韩精品| 亚洲第一天堂无码专区| 欧美日韩美女在线| 久久艳片www.17c.com| 日韩欧美精品网址| 亚洲第一男人av| 欧美日韩国产综合新一区| 亚洲国内精品视频| 欧美中文在线观看国产| 亚洲成人久久久| 欧美午夜激情视频| 日韩中文在线视频| 欧美与黑人午夜性猛交久久久| 国产精品va在线| 国产精品久久久久久久久久99| 欧洲s码亚洲m码精品一区| 亚洲欧美综合v| 欧美日韩色婷婷| 亚洲精品成人久久| 欧美乱大交xxxxx| 国产精品久久久久久久久久ktv| 日韩av快播网址| 红桃视频成人在线观看| 色综合天天狠天天透天天伊人| 欧美精品精品精品精品免费| 精品国产成人av| 国产日韩在线看| 精品国偷自产在线| 成人欧美一区二区三区在线湿哒哒| 亚洲一级免费视频| 97精品一区二区视频在线观看| 一个人看的www久久| 国产成人精品av| 欧美日韩中文字幕在线| 久久天天躁夜夜躁狠狠躁2022| 亚洲精品免费在线视频| 欧美日韩亚洲天堂| 欧美在线播放视频| 91chinesevideo永久地址| 亚洲欧美激情四射在线日| 成人在线视频福利| 日韩欧美国产中文字幕| 欧美日韩国产二区| 亚洲xxxxx电影| 国产狼人综合免费视频| 亚洲一区二区三区乱码aⅴ| 97在线精品视频| 欧美高清自拍一区| 亚洲美女又黄又爽在线观看| 国外视频精品毛片| 秋霞成人午夜鲁丝一区二区三区| 欧美激情视频在线免费观看 欧美视频免费一| 欧美国产日韩免费| 日本高清久久天堂| 国产精品久久久久久久久久久新郎| 孩xxxx性bbbb欧美| 欧美在线国产精品| 亚洲欧美中文另类| 日韩av一区在线| 日韩中文在线中文网在线观看| 日韩成人在线视频网站| 久久久免费电影| 亚洲成av人乱码色午夜| 亚洲毛片一区二区| 久久久久久97| 日韩精品极品视频| 91视频免费在线| 亚洲高清久久网| 国产精品一区二区三区在线播放| 亚洲欧美资源在线| 国产亚洲人成网站在线观看| 在线播放国产一区中文字幕剧情欧美| 蜜臀久久99精品久久久久久宅男| 668精品在线视频| 亚洲国产成人久久综合一区| 久久91亚洲精品中文字幕奶水| 亚洲尤物视频网| 国产精品亚洲美女av网站| 欧美日韩在线观看视频小说| 亚洲缚视频在线观看| 欧美极品在线视频| 国产精品av网站| 国产欧美日韩中文字幕| 日韩在线视频观看| 国产成人高清激情视频在线观看| 成人xxxx视频| 国产亚洲欧洲在线| 这里只有精品在线播放| 美女视频久久黄| 国产精品成人av性教育| 国产精品成人免费电影| 亚洲人午夜色婷婷| 中文字幕在线成人| 青青草原成人在线视频| 亚洲欧美激情精品一区二区| 欧美国产极速在线| 人人做人人澡人人爽欧美| 久久久999国产精品| 91高清免费视频| 青青青国产精品一区二区| 日韩美女免费观看| 国产精品igao视频| 91在线视频免费| 97视频在线观看亚洲| 92国产精品久久久久首页| 亚洲人高潮女人毛茸茸| 国产精品av在线播放| 国产精品白嫩初高中害羞小美女| 亚洲精品视频免费在线观看| 中国日韩欧美久久久久久久久| 91成人性视频| 久久亚洲一区二区三区四区五区高| 亚洲 日韩 国产第一| 亚洲国产精品女人久久久| 欧美专区第一页| 欧美激情在线观看视频| 综合久久五月天| 日韩av在线免费| 久久久视频精品| 91精品国产综合久久香蕉| 成人精品一区二区三区电影免费| 国产精品久久久久久久9999| 国产成人精品一区二区三区| 国产91精品视频在线观看| 国产精品视频中文字幕91| 国产精品久久久久久av福利软件| 国产香蕉精品视频一区二区三区| 国产精品xxxxx| 一本一本久久a久久精品牛牛影视| 国产成人自拍视频在线观看| 日韩av观看网址| 日韩av有码在线| 亚洲成人网在线观看| 日本亚洲欧洲色α| 国产成人在线播放| 久久久人成影片一区二区三区观看| 亚洲自拍高清视频网站| 九九热最新视频//这里只有精品| 亚洲伊人久久大香线蕉av| 午夜精品久久久久久久99热| 欧美在线观看视频| 亚洲一区二区三区在线免费观看| 欧美精品aaa| 在线观看欧美日韩国产| 91高潮在线观看| 欧美黑人xxxⅹ高潮交| 欧美一二三视频| 亚洲女同性videos| 成人欧美在线视频| 91精品视频观看| 国产精品久久久久一区二区|