|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
是的,这个确实非常有需求,现实情况就是微软貌似没考虑好。 包括google的源码也仅仅是用了SetUnhandledExceptionFilter 微软完全有能力处理所有异常并写出dmp文件,但是它就是不做。 我在网上找到了个写Error Report的注册表的,那个就是free 2次闪退它都能生成dmp,但是它不是程序控制的。 |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
AddVectoredExceptionHandler是可以捕获到,但是可能是它优先级太高,导致了整个程序其它地方的异常处理都被它拦截了,干扰了vc runtime的内部seh异常处理。 所以这个貌似不能用。 |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
网上说的google的breakpad,就是你说的进程外生成dump,结果还是这几个函数的组合而已, 现在是这些函数捕获不到,所在google的也没用。
最后于 2021-5-22 16:56
被sunbinjin编辑
,原因:
|
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
程序自己都检测到堆栈溢出了,应该是字符串复制过界了。 |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
我的问题都没搞定的话,貌似也没办法解释你的程序是哪种退出机制。
|
|
|
|
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
这个我在正式程序里也做了,能解决一些其它模块私自修改导致我主程序抓不住的情况 但对一个指针free 2次还是抓不住。 |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
你也是想知道他在哪退出的是吧? 我所知道的api,自杀式的是ExitProcess 它杀式的就是TerminateProcess,参数传自己 什么exit内部都会调用到ExitProcess |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
release没有优化掉,程序会出错,导致后面的代码Messagebox没有被执行。 debug是会被vs捕获到,不知道vs是如何做到的,vs的开发人员肯定这方面都知道如何处理。 |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
再开一个进程,只是处理生成dump的事。 但也得先捕获到异常吧?我现在是捕获不到啊。 我看到别的文章说google跨进程生成dump,但它也是本进程捕获到后才跨进行生成dump的啊。如果捕获不到,vcruntime直接给你退了,跨进程也不能生成dump啊? 另外我看下你的链接,里面多了几个函数,我试一下。 不知道是不是我们两的沟通不在同一个频道? |
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
你这是另一种异常,异常类型太多,我上面示例代码里的如何让它捕获到呢? |
|
|
|
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
应该是某些runtime内部出错直接退出来,我是想如何抓住错误生成dump,我上面的代码示例就证明有些错误我现在没办法捕获。 |
|
|
|
|
|
如何抓住程序在哪里退出的?想用于出错时生成Dump
抓不住的情况下,另一个进程就能抓住了吗?这块没区别吧? |
|
|
[讨论]请教chia原理
这玩意P盘慢得跟鬼似得 ![]() 要命 |
|
|
[求助]如何比较简单的获取C++接口的某个方法的地址?
不行的,第一贴就已经写出来的,&成员函数不支持,可能是编译器故意做了限制。 |
|
|
[求助]如何比较简单的获取C++接口的某个方法的地址?
我现在就是这么取的,我的意思是有什么办法不用人为去算那个偏移,有时候会数错,也麻烦,而是借用编译器来知道这个偏移,本身编译器是知道的。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值


