VS2013 程序崩溃了 怎么定位到造成崩溃原因的语句

VS2013 程序崩溃了 怎么定位到造成崩溃原因的语句,第1张

这个渣友是指针访问异常造成弯梁铅的.

点击中断应该能定位到哪一块代码,然后F9下断点,F5调试运行,

debug就能精确的定位到是哪一行代码引起的了.

祝好埋好运.

多是内存问题,如变量没有初始化、越界读写等,新手容易出这种问题。

方法1:弯闹贺如第一位兄弟所说,OD调试,找埋派到异常点。技术要求较高。

方法2:笨办法弯汪,一点点检查代码。至于是大海捞针还是水缸抓鱼,那就要看代码数量了。

C++里这个异常是怎么回事?怎么解决?1.先下载系统动态链修复的专用工具,注意不同的 *** 作系统有不同的版本。

2.如果是Windows XP *** 作系统,那么还有必要先安装Microsoft .NET Framework 2.0或更高版本才可运行本程序,否则会出错。

3.点击:检测并修复。 登录

ShaYQ

关注

C++程序异常时怎么处理 原创

2020-03-27 10:48:21

ShaYQ

码龄8年

关注

程序崩溃定位以及准备

如何定位程序异常

1. 文档说明

主要是针对Windows下的程序崩溃异常,以下是结合实际经验以及借鉴网上的参考,得出的小结,具有一定实际意义。

2. 分析说明

程序运行时异常崩溃无法避免,需要快速定位以下几个情况:

1.必现的崩溃异常,直接用VS进行调试运行,加断点调试,崩溃时ALT+2查看堆栈

2.对于实际运行中的异常,不好直接定位,需要我们结合实际情况提前做好准备和分析。

3. 解决思路

主要针对第2种情况比较复杂,参考以下,在《Windows核心编程》中有部分参考:

1. 崩溃时,添加回调函数,来进入具体的异常处理代码段;

2. 在注册的回调函数中,输出崩溃的详细信息(堆栈信息等);

3. 结合工程输出的MAP文件,参考内存地址找到崩溃的函数;

4. 具体 *** 作

4.1 注册异常处理函数

用SetUnhandledExceptionFilter注册自定义的错误处理回调函数,打印出崩溃时候的异常堆栈信息。

可以参考网络教程;

4.2 输出崩溃信息

4.2.1 回调函数原型:

typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)(

__in struct _EXCEPTION_POINTERS *ExceptionInfo

)

返回值:EXCEPTION_CONTINUE_EXECUTION – 错误已经被修复,从异常发生处继续执行

EXCEPTION_CONTINUE_SEARCH – 继续查找异常过滤器

EXCEPTION_EXECUTE_HANDLER – 正常返回

参数: 崩溃信息结构,包含崩溃原因、崩溃模块、崩溃地址、崩溃堆栈等;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12446983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存