坚持QtQML,坚持移动互联网

http://www.qtcn.org/bbs/u/121778  [收藏] [复制]

toby520

将QtCoding进行到底,做Qt的宠儿

  • 89

    关注

  • 164

    粉丝

  • 3578

    访客

  • 等级:精灵王
  • 身份:论坛版主
  • 总积分:1262
  • 男,1986-11-17

最后登录:2024-04-24

更多资料

日志

Windows 捕获异常dump文件的方式

2019-06-25 14:30
  1. long   __stdcall   ExceptionCatcher(_EXCEPTION_POINTERS*   excp)
    {
        QDateTime time = QDateTime::currentDateTime();
        QString strPath = ".\\" + time.toString("yyyy-MM-dd_hh-mm-ss_") + "dumpfile.dmp";
        HANDLE hFile = ::CreateFile(strPath.toStdWString().c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        if (hFile != INVALID_HANDLE_VALUE)
        {
            MINIDUMP_EXCEPTION_INFORMATION einfo;
            einfo.ThreadId = ::GetCurrentThreadId();
            einfo.ExceptionPointers = excp;
            einfo.ClientPointers = FALSE;

            ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpWithProcessThreadData, &einfo, NULL, NULL);
        }
        ::CloseHandle(hFile);
        return EXCEPTION_EXECUTE_HANDLER;
    }

  main函数里面 :

#include <qt_windows.h>
#include <DbgHelp.h>

    SetUnhandledExceptionFilter(ExceptionCatcher);
分类:默认分类|回复:5|浏览:802|全站可见|转载
 
 
删除

shixingya:可以不用这么麻烦,改一下windows注册表就可以,不需要写代码
可以参考https://blog.csdn.net/icandoit_2014/article/details/78739962

2019-06-26 09:00 -

shixingya:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\WindowsError Reporting\LocalDumps

2019-06-26 09:01

toby520:可以哦 但是注册表之类的 是否需要权限

2019-06-26 21:30

shixingya:http://www.qtcn.org/bbs/read-htm-tid-85902-ds-1.html  帖了代码,可以参考参考

2019-06-27 11:04

20091001753:我采用的也是 toby520 的写法,程序捕获自己的异常信息。

2019-06-27 15:47

Powered by phpwind v8.7 Certificate Copyright Time now is:04-25 00:44
©2005-2016 QTCN开发网 版权所有 Gzip disabled