社区
C++ Builder
帖子详情
程序无提示退出是什么原因?
randomzgm
2002-12-25 09:27:53
程序进行一段时间,在没有任何提示的情况下,自动退出,请问这是什么原因?源代码里面没有涉及进程退出的语句,会不会是因为内存泄漏呢?
...全文
114
23
打赏
收藏
程序无提示退出是什么原因?
程序进行一段时间,在没有任何提示的情况下,自动退出,请问这是什么原因?源代码里面没有涉及进程退出的语句,会不会是因为内存泄漏呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大大怪老张
2003-01-09
打赏
举报
回复
学习。
lifuming
2003-01-09
打赏
举报
回复
程序可能是内存管理出现了问题!
randomzgm
2003-01-09
打赏
举报
回复
对,在用strncpy函数之前进行检测是一个有效的方法,可以避免出错。
但是,我想知道strncpy(d, p, -2)为什么会导致进程直接退出。因为一般来说,任何异常都是可以被捕捉的。
penu
2003-01-09
打赏
举报
回复
在用strncpy函数之前检测第三个参数的值是否有效。
randomzgm
2003-01-09
打赏
举报
回复
没错,是-2。
源程序里当然不会直接用常量-2作为参数的。
以上代码当然是明显有错的
不过,我想知道的是为什么它会导致进程直接退出。
penu
2003-01-09
打赏
举报
回复
-2 ?
randomzgm
2003-01-09
打赏
举报
回复
问题已经找出来了,但无法解释。导致进程直接退出的代码如下:
char *p = "abc";
char d[10];
strncpy(d, p, -2);//就是这里,try...catch无法捕捉这里的异常
s98231106
2002-12-25
打赏
举报
回复
可能你的进程被杀了。
almser
2002-12-25
打赏
举报
回复
这种情况我也曾碰到过,不知是否与你的类似,当时是对一个数据库进行操作的程序,当时没有在操作数据时使用异常处理,即连接数据库完成后就没有作异常处理,结果有时就莫名其妙底退出,后来查了一下是在其过程中数据库可能中断,而操作无法进行产生异常退出,不知你是否是这个原因,也可能是内存操作时越界等等,试试在处理数据时加try catch(...)。
randomzgm
2002-12-25
打赏
举报
回复
请问 Wingsun(孙春阳) 说的“三层结构”是指哪个方面的?这个程序本来就是三层(多层)结构中的中间层部分。
randomzgm
2002-12-25
打赏
举报
回复
没有用三层结构
warton
2002-12-25
打赏
举报
回复
老大来了,关注!!
Wingsun
2002-12-25
打赏
举报
回复
是不是用到了三层结构?
randomzgm
2002-12-25
打赏
举报
回复
没有使用这些东西,这程序在多台机器上使用都会出现这种情况!
randomzgm
2002-12-25
打赏
举报
回复
那会不会是因为内存泄漏问题呢?
GaoLun
2002-12-25
打赏
举报
回复
好像有些软件 说是可以自动结束 没有响应的程序 或者是超时的程序
是不是你用这些东西
warton
2002-12-25
打赏
举报
回复
楼上说的是!!
woainihaha
2002-12-25
打赏
举报
回复
建议你对所有的数组进行边界检测,并多设置异常捕获语句!!
woainihaha
2002-12-25
打赏
举报
回复
呵呵,这种错误是最难处理的错误之一,通常是访问的数据超出边界,但并没有改写超出边界的数据,所以在多数情况下不会出现错误和异常。但是一旦访问的数据正在被其他对象使用的时候就会崩溃!!通常这种错误需要大量和比较完整的测试,只用CodeGuard在普通测试时是找不出来的,需要使用绝对完整和遍历所有可能使用的数据和资源才能捕获!!
warton
2002-12-25
打赏
举报
回复
是不是有什么杀毒软件,把多余的程序都关闭,然后再试!!
加载更多回复(3)
DirectX修复工具 V3.3增强 绿色版
本
程序
有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找
原因
,以便找到解决办法。
程序
的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮...
DirectX修复工具 V3.3标准 绿色版
本
程序
有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找
原因
,以便找到解决办法。
程序
的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮...
1小时入门最新小
程序
授权登录注册功能开发,并把注册记录添加到数据库
新版微信小
程序
授权登录,
退出
,缓存,小
程序
个人中心的实现 如果把用户授权的信息存入Mysql/云开发的数据库,怎么实现呢? 授权登录对于不同的用户好像没有唯一的标识,是不是还得获取openid才行? 授权登录必须从...
win10下hyper-v新建的虚拟机无法启动,
提示
虚拟监控
程序
未运行,什么
原因
?怎么解决?
目录 因为需要用到hyper-v,所以安装完hyper-v后,新建了一个虚拟机,在开启虚拟机的时候,
提示
“虚拟监控
程序
未运行”,如下:
python
退出
程序
-python
退出
程序
python
退出
程序
的方式有两种:os._exit(),sys.exit() 1)os._exit() 直接
退出
python
程序
,其后的代码也不会继续执行。 2)sys.exit() 引发一个 systemexit异常,若没有捕获这个异常,python解释器会直接
退出
; ...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章