青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 126,  comments - 73,  trackbacks - 0

生成minidump目的是保存程序異常時的調用棧信息,便于尋找問題原因。

1, 添加下面得函數,

#include <dbghelp.h>
#include <shellapi.h>
#include <shlobj.h>

LONG WINAPI GenerateDump(struct _EXCEPTION_POINTERS *pExceptionPointers)
{
LONG ret = EXCEPTION_EXECUTE_HANDLER;
BOOL bMiniDumpSuccessful;
TCHAR szPath[MAX_PATH];
TCHAR szFileName[MAX_PATH];
TCHAR* szAppName = TEXT(“AppName”);
TCHAR* szVersion = TEXT(“v1.0″);
DWORD dwBufferSize = MAX_PATH;
HANDLE hDumpFile;
SYSTEMTIME stLocalTime;
MINIDUMP_EXCEPTION_INFORMATION ExpParam;

GetLocalTime( &stLocalTime );
GetTempPath( dwBufferSize, szPath );

_stprintf( szFileName, TEXT(“%s%s”), szPath, szAppName );
CreateDirectory( szFileName, NULL );

_stprintf( szFileName, TEXT(“c:\\aaaa.dmp”));
hDumpFile = CreateFile(szFileName, GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0);

ExpParam.ThreadId = GetCurrentThreadId();
ExpParam.ExceptionPointers = pExceptionPointers;
ExpParam.ClientPointers = TRUE;

bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),
hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL, NULL);

int i = GetLastError();
HRESULT hr = HRESULT_FROM_WIN32(i);

return ret;
}

2,在project setting中加入dbghelp.lib作為library的input,這是MiniDumpWriteDump需要的。在Debug Information Format設置Program Database (/Zi)。設置Generate Debug InfoYes (/DEBUG)。在Optimization設置ReferencesEliminate Unreferenced Data (/OPT:REF)。設置 Enable COMDAT FoldingRemove Redundant COMDATs (/OPT:ICF)。后面兩項設置可以大大縮小exe文件大小。

3,使用如下:

void SomeFunction()
{
int *pBadPtr = NULL;
*pBadPtr = 0;
}
void Ctest2Dlg::OnBnClickedButton1()
{
__try
{
SomeFunction();
}
__except(GenerateDump(GetExceptionInformation()))
{
}
}

4,使用windbg打開dmp文件,就可以看到出錯時的call stack了。

幾點要注意的:1)網上有文章介紹使用 SetUnhandledExceptionFilter設置異常過濾,保證出現異常時能調用minidump函數,但是這有些問題,這個函數會導致debugger失效,而且好像跟drwatson有些沖突,感覺用起來比較危險。在程序的關鍵部分加入__try – __exception,這樣縮小捕捉范圍,應該就足夠用了。2)必須是用__try – __exception這樣的形式,才能保證GetExceptionInformation()能正常使用。3)MiniDumpWithDataSegs這個參數我試著換成另外幾個,好像都不好用。返回值都是0,經過解析lasterror都是E_INVALIDARG,奇怪。

update: 關于使用windbg

windbg下載地址在這里http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx

下載安裝最新版本即可,我沒有搞清楚的一點是必須要設置windows的symbol目錄,否則光有pdb是沒法看到調用棧信息的。

使用windbg過程如下:安裝。然后打開菜單file-> symbol file path,添加如下

srv*c:\symbol_local*http://msdl.microsoft.com/download/symbols;c:\debug

其中srv*c:\symbol_local*http://msdl.microsoft.com/download/symbols;指明從網上下載操作系統使用的symbol存放到c盤symbol_local目錄,另外程序的symbol(pdb文件)可以放在c盤debug目錄下。

windbg會顯示一段時間busy或者retrieving..,然后就可以看到詳細的dump信息了

posted on 2010-10-13 16:35 我風 閱讀(909) 評論(0)  編輯 收藏 引用
<2012年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

C++

MyFavorite

搜索

  •  

積分與排名

  • 積分 - 328337
  • 排名 - 75

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲一区二区三区在线观看| 久久精品亚洲热| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美freesex8一10精品| 欧美一区影院| 一区视频在线| 亚洲国产精品123| 欧美另类变人与禽xxxxx| 99国产一区| 亚洲午夜在线视频| 国产丝袜一区二区三区| 久久中文久久字幕| 免费成人av在线看| 中文亚洲视频在线| 亚洲一线二线三线久久久| 国产亚洲欧美aaaa| 欧美国产精品人人做人人爱| 欧美韩日一区二区| 性欧美暴力猛交69hd| 久久视频免费观看| 亚洲少妇在线| 久久九九精品| 一区二区三区视频免费在线观看| 亚洲尤物视频网| 亚洲国产精品尤物yw在线观看| 亚洲国产精品精华液2区45| 欧美日韩直播| 久久天天狠狠| 欧美日韩在线一区| 免费一级欧美片在线观看| 欧美精品在线一区二区| 久久精品99国产精品| 欧美日本国产一区| 久久久一本精品99久久精品66| 欧美黄色aaaa| 久久久噜久噜久久综合| 欧美日韩免费区域视频在线观看| 久久蜜臀精品av| 欧美日韩一区不卡| 欧美黑人一区二区三区| 国产精品一区二区三区观看 | 99re6热只有精品免费观看| 亚洲欧美日韩第一区| 亚洲免费电影在线观看| 香蕉久久夜色| 亚洲一级黄色av| 美日韩精品免费| 久久免费精品视频| 国产精品嫩草99a| 亚洲日本视频| 亚洲黄色精品| 久久久久久久97| 欧美在线播放视频| 国产精品国产三级欧美二区| 亚洲国产成人久久综合一区| 揄拍成人国产精品视频| 亚洲欧美韩国| 亚久久调教视频| 国产精品极品美女粉嫩高清在线 | 亚洲精品一区二| 99国内精品久久| 欧美成人中文字幕| 亚洲大片av| 亚洲精品国产无天堂网2021| 免费看av成人| 狠狠色丁香婷婷综合影院| 羞羞答答国产精品www一本| 亚洲天堂免费观看| 欧美揉bbbbb揉bbbbb| 一本色道**综合亚洲精品蜜桃冫 | 亚洲黄色成人网| 欧美暴力喷水在线| 亚洲黄页一区| 一本高清dvd不卡在线观看| 欧美伦理视频网站| 日韩一区二区免费高清| 亚洲在线不卡| 国产日本欧美一区二区| 性欧美video另类hd性玩具| 久久精品国产999大香线蕉| 国内精品免费在线观看| 久久三级视频| 亚洲激情偷拍| 亚洲欧美日韩国产综合| 国产婷婷色一区二区三区在线| 亚洲欧美一区二区三区在线| 久久色在线观看| 亚洲青涩在线| 国产精品家庭影院| 久久av一区| 亚洲国产精品高清久久久| 一区二区日韩伦理片| 国产精品亚洲一区| 久久久久一本一区二区青青蜜月| 亚洲黄色av一区| 亚洲欧美文学| 在线看片欧美| 欧美亚州一区二区三区| 久久久国产一区二区| 亚洲欧洲日产国产综合网| 亚洲欧美日韩一区二区三区在线观看| 国产日韩欧美在线播放不卡| 免费欧美在线视频| 亚洲影院在线观看| 欧美黑人在线观看| 性8sex亚洲区入口| 亚洲国产小视频| 国产精品女同互慰在线看| 久久在线免费| 亚洲欧美日韩网| 亚洲欧洲日韩综合二区| 久久国产精品免费一区| 一本色道久久加勒比精品| 国产一区二区三区日韩欧美| 欧美日韩ab| 久久亚洲精品欧美| 亚洲免费在线播放| 亚洲欧洲精品成人久久奇米网| 欧美在线视频日韩| 亚洲免费网址| 99成人在线| 136国产福利精品导航网址| 国产精品电影网站| 欧美~级网站不卡| 欧美综合第一页| 亚洲一区二区三区中文字幕在线| 亚洲福利小视频| 欧美不卡三区| 久久久久免费| 欧美中文字幕| 亚洲欧美日韩一区在线| 一区二区不卡在线视频 午夜欧美不卡在 | 午夜在线不卡| 亚洲视频www| 最新高清无码专区| 欧美国产视频在线| 你懂的亚洲视频| 久久久久久久综合色一本| 先锋影音国产精品| 亚洲综合色网站| 国产精品99久久久久久人| 亚洲免费观看高清在线观看 | 伊人精品成人久久综合软件| 国产免费成人在线视频| 国产精品黄色在线观看| 国产精品另类一区| 国产精品午夜在线观看| 国产精品成人午夜| 欧美视频日韩视频| 欧美精品九九99久久| 欧美精品久久久久a| 欧美精品一区二区视频| 欧美精品亚洲精品| 欧美日韩精品在线| 国产精品久久久久毛片大屁完整版 | 欧美大色视频| 欧美理论在线| 欧美新色视频| 国产欧美日韩不卡| 韩日精品视频| 亚洲精华国产欧美| 一区二区三区精品视频| 亚洲曰本av电影| 久久精品国产免费| 欧美成人一区二区在线| 亚洲精品在线二区| 在线视频欧美精品| 欧美在线999| 蜜桃久久精品一区二区| 欧美日韩不卡| 国产欧美在线看| 亚洲福利精品| 亚洲一区二区久久| 久久精品国产一区二区三| 免费一区二区三区| 一本色道久久| 久久精品国产一区二区电影| 欧美金8天国| 国产女主播一区二区三区| 亚洲国产日韩欧美在线99| 亚洲少妇自拍| 蜜臀久久久99精品久久久久久| 亚洲精品一二三区| 久久久久久97三级| 国产精品久久久久久久久免费樱桃 | 欧美性淫爽ww久久久久无| 国产在线一区二区三区四区| 91久久久久久| 久久久国产精彩视频美女艺术照福利| 亚洲福利视频网站| 欧美在线精品一区| 欧美日韩一级大片网址| 永久免费视频成人| 亚洲一区二区免费| 欧美黄色一区二区| 欧美一区二区三区日韩视频| 欧美日韩国产精品一卡| ●精品国产综合乱码久久久久| 亚洲欧美在线免费观看| 亚洲国产一区二区a毛片|