一个程序跑着跑着,突然莫名其妙的自动关闭了,并没有任何出错提示,有什么办法调试或解决?

时间:2022-11-04 19:46:30
这个程序在Win2000里运行良好,没有任何问题。
但是到了WinXP,有时候会莫名其妙的自动关闭了,没有任何提示。但是这是很随机的,没有特定的条件。
烦死了,背上已经被老板插了好多刀了!
我是个初学者,请问有什么办法可以调试出来是哪句出错吗?
万分感谢!

16 个解决方案

#1


project -> option -> compiler -> Full debug 选上
debugger Options -> Integrated debugging    选上

#2


再重新编译(最好在XP下重新编译一下)

#3


编译时加上CodeGard看看

#4


在98第一版下编译一下以后什么系统都可以用了,当然是WINDOW下了,呵呵,,

#5


gz

#6




最好在XP下編譯一下,若通過的話應該應沒有問題!
在98下編譯不是個好辦法,因為程序中可能用到98不支持的API等

#7


project -> option -> compiler -> Full debug
debugger Options -> Integrated debugging
都选上了,CodeGard也已经加了。
情况是一样的。

To hong668(心情不错) :
在98第一版下编译一下以后什么系统都可以用了,这样真的可行吗?

#8


在CODEGUARD下观察一下吧,有问题它会报道,且定位到代码。


project->options->CodeGuard->选中CodeGuard validation
重新编译,在IDE下运行

#9


如果是突然关闭的话,很可能是操作系统直接删除进程所致,IDE很难调试出来。有一个办法就是在程序模块中加入写运行信息文件的代码,到问题出现时,可以通过检查运行信息文件得知可能出错的原因及位置。

#10


同意酒鬼的看法
你自己可以在程序流程某些地方记录一下log file或是ShowMessage
看看突然中断是在某个地方出现的,再仔细看看有关代码是否有问题

#11


我猜测可能是内存操作的问题:你的代码中存在内存泄漏或者使用野指针!

#12


不会是病毒吧?

#13


我遇到过这种情况,当时是线程访问的问题。仅供参考。

#14


我也遇到过,当时是因为调用dll中的函数,在函数还没有出来之前又调用了一次,于是程序就自动关闭了

#15


关注:
我的程序也存在这样的问题,2000下能正常运行,2003就莫名其妙退出!
其实仔细观察是2003自动调用一个进程来杀(说是系统专门杀错误进程的)!
我的程序2个线程,其中一个线程调用了多个DLL,难道这也有问题。
更郁闷的:不是每次都退出,毫无规律~~~~

#16


应该是内存操作除了问题,我原来也遇到过这样的问题

不过基本上在ide中看不出来,

#1


project -> option -> compiler -> Full debug 选上
debugger Options -> Integrated debugging    选上

#2


再重新编译(最好在XP下重新编译一下)

#3


编译时加上CodeGard看看

#4


在98第一版下编译一下以后什么系统都可以用了,当然是WINDOW下了,呵呵,,

#5


gz

#6




最好在XP下編譯一下,若通過的話應該應沒有問題!
在98下編譯不是個好辦法,因為程序中可能用到98不支持的API等

#7


project -> option -> compiler -> Full debug
debugger Options -> Integrated debugging
都选上了,CodeGard也已经加了。
情况是一样的。

To hong668(心情不错) :
在98第一版下编译一下以后什么系统都可以用了,这样真的可行吗?

#8


在CODEGUARD下观察一下吧,有问题它会报道,且定位到代码。


project->options->CodeGuard->选中CodeGuard validation
重新编译,在IDE下运行

#9


如果是突然关闭的话,很可能是操作系统直接删除进程所致,IDE很难调试出来。有一个办法就是在程序模块中加入写运行信息文件的代码,到问题出现时,可以通过检查运行信息文件得知可能出错的原因及位置。

#10


同意酒鬼的看法
你自己可以在程序流程某些地方记录一下log file或是ShowMessage
看看突然中断是在某个地方出现的,再仔细看看有关代码是否有问题

#11


我猜测可能是内存操作的问题:你的代码中存在内存泄漏或者使用野指针!

#12


不会是病毒吧?

#13


我遇到过这种情况,当时是线程访问的问题。仅供参考。

#14


我也遇到过,当时是因为调用dll中的函数,在函数还没有出来之前又调用了一次,于是程序就自动关闭了

#15


关注:
我的程序也存在这样的问题,2000下能正常运行,2003就莫名其妙退出!
其实仔细观察是2003自动调用一个进程来杀(说是系统专门杀错误进程的)!
我的程序2个线程,其中一个线程调用了多个DLL,难道这也有问题。
更郁闷的:不是每次都退出,毫无规律~~~~

#16


应该是内存操作除了问题,我原来也遇到过这样的问题

不过基本上在ide中看不出来,