社区
Delphi 帖子详情 软件会自动退出,如何查看在什么地方出错而导致会自动退出。 noall 2013-07-01 09:39:42 有什么方法可以检测或知道在什么地方出错了,而导致软件自动会退出?
是这样:
软件打开,运行几分钟有可能会退出,也有可能运行了几个小时都不会出问题,
操作一样的东西,一样的步骤。但结果,软件有时就给你退出,而没有任何提示,而且任务栏里也看不到线程了。
...全文
788 17 打赏 收藏 软件会自动退出,如何查看在什么地方出错而导致会自动退出。 有什么方法可以检测或知道在什么地方出错了,而导致软件自动会退出? 是这样: 软件打开,运行几分钟有可能会退出,也有可能运行了几个小时都不会出问题, 操作一样的东西,一样的步骤。但结果,软件有时就给你退出,而没有任何提示,而且任务栏里也看不到线程了。 复制链接
扫一扫 分享 转发到动态 举报
写回复 配置赞助广告取 消
确 定
用AI写文章 17 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 reverzeng 2013-08-31 打赏举报 回复 引用 11 楼 ksrsoft 的回复:eurekaLog非常不错,推荐安装使用,可以分析日志
看到这个后抓住了一个问题,推荐 sololie 2013-08-29 打赏举报 回复 http://download.csdn.net/detail/liyilinlilo2011/4538436 noall 2013-08-29 打赏举报 回复 eurekaLog 哪里下载。盒子上没找到。 缘中人 2013-07-03 打赏举报 回复 eurekaLog非常不错,推荐安装使用,可以分析日志 bbc9527 2013-07-03 打赏举报 回复 引用 楼主 noall 的回复:有什么方法可以检测或知道在什么地方出错了,而导致软件自动会退出?
是这样:
软件打开,运行几分钟有可能会退出,也有可能运行了几个小时都不会出问题,
操作一样的东西,一样的步骤。但结果,软件有时就给你退出,而没有任何提示,而且任务栏里也看不到线程了。
1、动态调试工具 OD打开 在 查找所有 调用的API 在退出进程的API上 下断。然后执行,接着等待退出,一旦程序退出,就会在 API上被拦截,查看 函数的参数 和寄存器堆栈 等信息 ,最好截图保留 。
以上的做法好处是 找到问题的原因很直接 而且准确。 缺点是麻烦 而且要熟悉 调试技巧。
2、程序代码中关键部分插入写日志的代码 或者通过一个输出 组件 输出调试信息。优点是简单,缺点是 定位不一定准确 。
3、通过一些软件检测程序运行状态比如(procexp xuetr) 。检测 重要的 部分,对比出错前后的不同。
4、通过windbg+vmware 在虚拟机中检测 软件的执行状态和各个部分的问题。
总之 出错 就要想想怎么调试 多用不同工具。
希望对你有帮助。 浩南_哥 2013-07-03 打赏举报 回复 http://www.cnblogs.com/huangjacky/archive/2009/12/09/1620644.html linlingwei 2013-07-03 打赏举报 回复 进行代码跟踪调试看看 sololie 2013-07-03 打赏举报 回复 引用 11 楼 ksrsoft 的回复:eurekaLog非常不错,推荐安装使用,可以分析日志
可惜内存泄露检查不支持c++ builder sololie 2013-07-03 打赏举报 回复 Eurkalog 7.x版现在好大,120多M,不过更酷了,自带的demo和help更详尽了
盒子ftp上有7.x版带汉化文件,6.x的也有 sololie 2013-07-03 打赏举报 回复 6楼说的对,用Eurkalog,轻松省事 随行的太阳 2013-07-01 打赏举报 回复 用进程把你主要运行的东西写进去,先把你主要功能在外面调试好了来。这样可以多用几个进程来做,分开功能到小进程。我是这样解决的。多半是对数据库的操作上的问题。 hongss 2013-07-01 打赏举报 回复 直接调试状态运行,如果出错会给出错误提示。
这种情况大部分应该是内存泄漏引起的吧~~~~ 猴子先生大宝贝 2013-07-01 打赏举报 回复 楼上所述是最实用的方案。 feiba7288 2013-07-01 打赏举报 回复 在代码里面每执行一步写一次日志,对一些主要处理代码加异常捕捉,等下次出现问题时,有日志有助于分析问题所在。 haitao 2013-07-01 打赏举报 回复 多加日志输出 人鱼传说 2013-07-01 打赏举报 回复 建议楼主安装一个Eurkalog软件(内存泄漏也能捕捉到),可以自动记录出错的详细位置和原因,虽然每执行一步添加一个日志技术上可行,但可操作性不强! 3dmax为什么经常退出 一般来说,3dmax是比较容易出错的软件,因为它本身是大型软件,而且自身可以接入很多第三方的插件,如果插件本身有问题,就容易导致3dmax出问题。还有个就是是病毒,所以也容易导致3d不正常,这样一旦出现问题,3dmax就会自己退出。测一下3d场景,如果发现有病毒就清除,清除完再运行一段时间看是否还会自动退出。1.先用3dmax杀毒工具检测一下是否3dmax感染了病毒,这里使用。第2种情况不是病毒引起的,多半是3dmax自身出了问题,我们可以使用。修复完,打开场景,测试一下,运行一下看还是不是会退出。... makefile 循环编译子模块,出错时自动退出 编译一个大的工程时,往往都是透过for循环重重迭代编译各个子模块。如果某些子模块编译出错,没有退出就
会导致最后生成的库没有对应的功能或者符号。此时,我们需要再出现出错时,makefile编译主动退出。
先看网上的一个截图,阐述了一个解决方法:
说明:SUB_BOOKS 是需要循环编译的子模块,通过可以这样获得,SUB_BOOKS = $(shell find path 主线程退出,支线程也将退出么?某个线程崩溃,会导致进程退出么? 某个线程崩溃,会导致进程退出么?
进程中的某个线程崩溃,是否会对其他线程造成影响?
一般来说,每个线程都是独立执行的单位,都有自己的上下文堆栈,一个线程崩溃不会对其他线程造成影响。但是在通常情况下,一个线程崩溃也会导致整个进程退出。例如,在LINUX操作系统中可能会产生一个Segment Fault错误,这个错误会产生一个信号,操作系统对这个信号的默认处理就是结束进程,这样整个进程都被销毁,在这个进程中存在的其他线程自然也就不存在了。
... shell脚本的运行机制以及异常退出分析 本文这里说的shell指的是shell脚本语言,我们在使用shell脚本时,有时会感到困惑,即shell脚本里面的命令明明执行失败了,但是还可以继续执行,而不是自动退出,而这有时候确实也会导致我们非预期的行为。当我们习惯了其他的编程语言,突然遇到shell脚本的时候,确实难免会产生这样的疑惑。因为一般其他的编程语言出现报错的时候,只要没有捕捉异常,就会运行不成功而自动退出。至于为什么shell脚本语言和其他一般的编程语言会有这样的区别,还是得先大概了解一下shell脚本的运行机制。
... C#WinForm程序异常退出的捕获、继续执行与自动重启 本文参考网上搜索的信息,并做了适当修改可以让捕捉到异常之后阻止程序退出。
另给出了通过命令行自动重启的方法。
如果一个线程里运行下面的代码
int a = 0;
int c = 10 / a;
将会导致程序自动结束,而且没有任何提示信息 但是如果是在主线程里运行这个代码,是会弹出异常信息对话框的
请问如何在线程里也出现这个异常信息对
Delphi
5,916
社区成员
262,929
社区内容
发帖 与我相关 我的任务 Delphi Delphi 开发及应用 复制链接
扫一扫 分享 确定 社区描述 Delphi 开发及应用 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章