社区
进程/线程/DLL
帖子详情
高难度问题,Debug下程序没有任何问题,Release下做某一操作(点击菜单)程序崩溃。
路人乙2019
2010-03-31 04:48:01
应用程序错误:
“0x73d311c7“指令引用的”0x00000004"内存,该内存不能为"read".
这种错误有什么办法找原因,我用了在发行版本中调试程序的方法,你调试它就没问题,你直接运行它才崩溃,郁闷。。
...全文
131
18
打赏
收藏
高难度问题,Debug下程序没有任何问题,Release下做某一操作(点击菜单)程序崩溃。
应用程序错误: “0x73d311c7“指令引用的”0x00000004"内存,该内存不能为"read". 这种错误有什么办法找原因,我用了在发行版本中调试程序的方法,你调试它就没问题,你直接运行它才崩溃,郁闷。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mcaok
2010-04-01
打赏
举报
回复
打印日志吧。
diegoyu
2010-04-01
打赏
举报
回复
不知,有答案没啊??
jingzhongrong
2010-03-31
打赏
举报
回复
先查看变量是否都初始化,共享变量访问和释放是否有问题。
设置出现错误时生成dump然后配合pdb查找错误原因,定位。
zgl7903
2010-03-31
打赏
举报
回复
Release下加载符号调试 Ctrl+G 地址定义到出错的指令地址处0x73d311c7,然后根据前后源代码分析
写不动代码的人
2010-03-31
打赏
举报
回复
release下也可以调式
VC6.0 中,菜单Project\Settings...选择Release状态C/C++卡片中:Category 选择 generalOptimizations 选择 Disable(Debug)Debug Info 选择 Program DatabaseLink 卡片中:Generate debug info好了,现在Release就可以跟踪了
sjdev
2010-03-31
打赏
举报
回复
恩,生成pdb调试一下吧。
如果无法重现,考虑打印日志分析。
大海雪山
2010-03-31
打赏
举报
回复
发现我的程序基本都没在release下运行测试过
Eleven
2010-03-31
打赏
举报
回复
恩,先看看错误能否重现,进行了怎样的操作就出现问题,对应代码的地方写log吧。。。
哈利路亚1874
2010-03-31
打赏
举报
回复
还有Debug下分配内存的时候实际上比申请的多了好像是8个字节样
验证码识别
2010-03-31
打赏
举报
回复
我以前遇到这样的问题,是多线程引起的
调试对时间,对线程间的切换是有影响的,可能在调试时资源的释放顺序是对的,
但执行时情况变了,最好打日志进行调试
验证码识别
2010-03-31
打赏
举报
回复
Debug下程序没有任何问题,Release下做某一操作
------------------------------------------
Debug 与 Release 对变量的初始化是不一样的,可能是程序中用到了没有初始化的变量
比如说定义了 int i;
但没有初始化, Debug 与 Release 下这个值可能是不一样的
lsvine
2010-03-31
打赏
举报
回复
[Quote=引用 4 楼 bragi523 的回复:]
这样的问题其实很多
看是不是一些线程同步之类的错误
可能打日志看一下吧
[/Quote]
调试的时候 那些需要同步呀 初始化呀什么的东西就准备好了
你可以在你调试的那些地方加上sleep试一下
oyljerry
2010-03-31
打赏
举报
回复
自己多打印一下日志信息
或者结合pdb和dump文件等来分析出错的地方等
visualassist4680
2010-03-31
打赏
举报
回复
记log,看asm,别无他法
vc++ 9.0 release 加调试信息的和不加调试信息的链接的函数是有区别的.
bragi523
2010-03-31
打赏
举报
回复
这样的问题其实很多
看是不是一些线程同步之类的错误
可能打日志看一下吧
jojjay
2010-03-31
打赏
举报
回复
很简单,加入一个写文件模块,判断出到哪里crash,然后在确定原因!
快乐鹦鹉
2010-03-31
打赏
举报
回复
首先是这个BUG能否重复再现。偶然的错误更难以调试。
cdsnpeter
2010-03-31
打赏
举报
回复
Release加上调试信息来Debug。
在
Release
模式下调试
程序
的有效方法
市场上存在多种性能分析工具,适用于不同的开发环境和需求。如:Visual Studio内置的性能分析器.NET Core的dotTrace分析器Linux的Valgrind工具选择合适的工具取决于你的项目环境和具体需求。选择合适的静态代码分析工具对于保证代码质量和提高开发效率至关重要。以下是几个广受欢迎的静态代码分析工具:SonarQube:一个开源平台,支持多种编程语言,提供了代码质量检查、代码异味检测、安全漏洞扫描等功能。ESLint。
要好好掌握反汇编调试
程序
BUG
没事的时候 用GOOGLE搜搜 反汇编调试,看看别人用反汇编调试的例子。
备忘--通过反汇编定位
release
版本
程序
的bug所在
转自:http://blog.csdn.net/swordll80/archive/2007/01/06/1475847.aspx
今天帮忙调试了一个
release
版本的
程序
,此
程序
运行较长一段时间后终于(不挂就不好查了)挂了,系统报错是某处的指令访问了非法地址,显然是内存访问越界(不测试也能猜到
C++如何分析和解决
崩溃
(crash)
问题
?如何查看core dump文件
core dump文件,简而言之,是
程序
在异常终止时由
操作
系统生成的一种内存转储文件。它包含了
程序
在
崩溃
那一刻的完整状态信息,包括内存中的数据、堆栈信息、寄存器值以及
程序
计数器等内容。这些信息为开发者提供了一个“时间胶囊”,可以回溯到
崩溃
发生时
程序
的运行状态。尤其是在C++这种允许直接
操作
内存的语言中,core dump文件对于分析指针错误、内存泄漏、栈溢出等
问题
具有无可替代的价值。需要注意的是,core dump文件并不是
程序
运行日志的替代品,而是对日志的补充。
Linux环境下微信小
程序
开发工具官方支持完整指南
htmltable {th, td {th {pre {简介:微信小
程序
是由腾讯推出的轻量级应用平台,广泛用于移动端便捷服务的构建。随着官方推出对Linux系统的支持,“微信小
程序
开发工具,完美支持linux环境下载地址.zip”为Linux开发者提供了完整的开发环境接入方案。本资源包含官方下载链接及详细部署步骤,涵盖从解压、依赖安装、工具配置到项目创建、代码编写、模拟调试及发布上线的全流程,助力Linux用户高效开展微信小
程序
开发,推动跨平台开发生态的完善。
VC调试
为了调试一个
程序
,首先必须使
程序
中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的
Debug
Configuration自动包含调试信息,但是是不是
Debug
版本并不是
程序
包含调试信息的决定因素,
程序
设计者可以在任意的Configuration中增加调试信息,包括
Release
版本。
为了增加调试信息,可以按照下述步骤进行:打开Project settings对话框(可以通过快捷键ALT+F7打开,也可以通过IDE
菜单
Project/Settings打开) 选择C/
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章