h**********c 发帖数: 4120 | 1 如果说一个人能想清楚自己的问题是什么的时候,多办就悟了.
现实情况是可能反正差不多就那样了,进入下一个循环了.
很小的时候,读一本书说goto语句,会导致一种现象叫a bowl of noodle,有一种病毒也
叫Yankee noodles,不太搭界,很幽雅的bso很象conference 上的大牛.
回到问题,看程序,
程序老crash,crash 的话,应该能dump,不过我老不知道怎么dump visual c++ 2008写的
程序,看dump也是一门大学问,不过人逼到份了,也就看了.这是问题一.
我模糊记得c的程序全都有一个可以重载的函数,是_exit.一个很不好debug 的程序,多
线程,很多内cool外cool,亦动亦静,不告诉你,不提示你,不同的程序员可能exit(1
),也可能exit(0) 或者 -1, 我们很希望能cerr或者prinf,另外一种的可能是我们观
察不到正确的管道,那么重载_exit能不能给我们一个办法就是能告诉我们哪一个函数
exit了,比方很nice地象gdb一样,告诉我们哪一个文件的哪一行。
我说的这个东西是visual c++,开始debug就进入一个crtexe循环,估计以人的生命无法
完成,后来看是一个叫wxwidget的东西,好像是在mfc上的,然后又有threads或者什么
的,调用shader,调用声音媒体,还有点winsock的东西,然后不知道哪里就crash了。
问题是不是稍微明晰了一些,如果上面来查,我怎么告诉上面哪里crash了,最好不是
我这块。
我也比较直率一点表白,应该从哪里gogo. | t****t 发帖数: 6806 | 2 你是问问题还是写散文抒发一下感情?
如果是写散文, 当我没问
如果是问问题, 能不能把问题用白话描述一下?
(1
【在 h**********c 的大作中提到】 : 如果说一个人能想清楚自己的问题是什么的时候,多办就悟了. : 现实情况是可能反正差不多就那样了,进入下一个循环了. : 很小的时候,读一本书说goto语句,会导致一种现象叫a bowl of noodle,有一种病毒也 : 叫Yankee noodles,不太搭界,很幽雅的bso很象conference 上的大牛. : 回到问题,看程序, : 程序老crash,crash 的话,应该能dump,不过我老不知道怎么dump visual c++ 2008写的 : 程序,看dump也是一门大学问,不过人逼到份了,也就看了.这是问题一. : 我模糊记得c的程序全都有一个可以重载的函数,是_exit.一个很不好debug 的程序,多 : 线程,很多内cool外cool,亦动亦静,不告诉你,不提示你,不同的程序员可能exit(1 : ),也可能exit(0) 或者 -1, 我们很希望能cerr或者prinf,另外一种的可能是我们观
| h**********c 发帖数: 4120 | 3 我再捋了一下,能否做一个类比,比放java,基本上程序非正常退出,会是一个exception
,那么可以请求print stack. 那么visual c++ 能否也print stack,这样几个程序员互
相赖账的时候,上面就不用投掷色子来决定最不喜欢谁。
另外我们说在MS window, visual c++ 写的程序,如果说程序自己结束了,没有被kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
【在 t****t 的大作中提到】 : 你是问问题还是写散文抒发一下感情? : 如果是写散文, 当我没问 : 如果是问问题, 能不能把问题用白话描述一下? : : (1
| h**********c 发帖数: 4120 | 4 再问下去,
如果一个mfc程序,从crtexe开始,那么算managed还是不算?
整个程序,调用一个静态库函数,编到exe里了,还用动态库,crash的时候,怎么找出
从哪个函数退出来的?也可能主程序自带的函数。 | t****t 发帖数: 6806 | 5 windows不清楚, 但是atexit应该是可以用的. 在exit()或者正常从main返回都是会调
用的.
怎么show stack不清楚.
如果非正常退出, 比如abort或者GPE那就需要依赖dr watson.
exception
kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
【在 h**********c 的大作中提到】 : 我再捋了一下,能否做一个类比,比放java,基本上程序非正常退出,会是一个exception : ,那么可以请求print stack. 那么visual c++ 能否也print stack,这样几个程序员互 : 相赖账的时候,上面就不用投掷色子来决定最不喜欢谁。 : 另外我们说在MS window, visual c++ 写的程序,如果说程序自己结束了,没有被kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
| g**w 发帖数: 969 | 6 先说说清楚,到底是crash还是正常退出
crash就看callstack
正常退出就设断点,debug | h***i 发帖数: 1970 | 7
linux下,可以用backtrace.
【在 t****t 的大作中提到】 : windows不清楚, 但是atexit应该是可以用的. 在exit()或者正常从main返回都是会调 : 用的. : 怎么show stack不清楚. : 如果非正常退出, 比如abort或者GPE那就需要依赖dr watson. : : exception : kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
| h**********c 发帖数: 4120 | 8 Thanks for the replies.
I will try with the tools mentioned. If there is any progress, I will update
here. | h**********c 发帖数: 4120 | 9 如果说一个人能想清楚自己的问题是什么的时候,多办就悟了.
现实情况是可能反正差不多就那样了,进入下一个循环了.
很小的时候,读一本书说goto语句,会导致一种现象叫a bowl of noodle,有一种病毒也
叫Yankee noodles,不太搭界,很幽雅的bso很象conference 上的大牛.
回到问题,看程序,
程序老crash,crash 的话,应该能dump,不过我老不知道怎么dump visual c++ 2008写的
程序,看dump也是一门大学问,不过人逼到份了,也就看了.这是问题一.
我模糊记得c的程序全都有一个可以重载的函数,是_exit.一个很不好debug 的程序,多
线程,很多内cool外cool,亦动亦静,不告诉你,不提示你,不同的程序员可能exit(1
),也可能exit(0) 或者 -1, 我们很希望能cerr或者prinf,另外一种的可能是我们观
察不到正确的管道,那么重载_exit能不能给我们一个办法就是能告诉我们哪一个函数
exit了,比方很nice地象gdb一样,告诉我们哪一个文件的哪一行。
我说的这个东西是visual c++,开始debug就进入一个crtexe循环,估计以人的生命无法
完成,后来看是一个叫wxwidget的东西,好像是在mfc上的,然后又有threads或者什么
的,调用shader,调用声音媒体,还有点winsock的东西,然后不知道哪里就crash了。
问题是不是稍微明晰了一些,如果上面来查,我怎么告诉上面哪里crash了,最好不是
我这块。
我也比较直率一点表白,应该从哪里gogo. | t****t 发帖数: 6806 | 10 你是问问题还是写散文抒发一下感情?
如果是写散文, 当我没问
如果是问问题, 能不能把问题用白话描述一下?
(1
【在 h**********c 的大作中提到】 : 如果说一个人能想清楚自己的问题是什么的时候,多办就悟了. : 现实情况是可能反正差不多就那样了,进入下一个循环了. : 很小的时候,读一本书说goto语句,会导致一种现象叫a bowl of noodle,有一种病毒也 : 叫Yankee noodles,不太搭界,很幽雅的bso很象conference 上的大牛. : 回到问题,看程序, : 程序老crash,crash 的话,应该能dump,不过我老不知道怎么dump visual c++ 2008写的 : 程序,看dump也是一门大学问,不过人逼到份了,也就看了.这是问题一. : 我模糊记得c的程序全都有一个可以重载的函数,是_exit.一个很不好debug 的程序,多 : 线程,很多内cool外cool,亦动亦静,不告诉你,不提示你,不同的程序员可能exit(1 : ),也可能exit(0) 或者 -1, 我们很希望能cerr或者prinf,另外一种的可能是我们观
| | | h**********c 发帖数: 4120 | 11 我再捋了一下,能否做一个类比,比放java,基本上程序非正常退出,会是一个exception
,那么可以请求print stack. 那么visual c++ 能否也print stack,这样几个程序员互
相赖账的时候,上面就不用投掷色子来决定最不喜欢谁。
另外我们说在MS window, visual c++ 写的程序,如果说程序自己结束了,没有被kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
【在 t****t 的大作中提到】 : 你是问问题还是写散文抒发一下感情? : 如果是写散文, 当我没问 : 如果是问问题, 能不能把问题用白话描述一下? : : (1
| h**********c 发帖数: 4120 | 12 再问下去,
如果一个mfc程序,从crtexe开始,那么算managed还是不算?
整个程序,调用一个静态库函数,编到exe里了,还用动态库,crash的时候,怎么找出
从哪个函数退出来的?也可能主程序自带的函数。 | t****t 发帖数: 6806 | 13 windows不清楚, 但是atexit应该是可以用的. 在exit()或者正常从main返回都是会调
用的.
怎么show stack不清楚.
如果非正常退出, 比如abort或者GPE那就需要依赖dr watson.
exception
kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
【在 h**********c 的大作中提到】 : 我再捋了一下,能否做一个类比,比放java,基本上程序非正常退出,会是一个exception : ,那么可以请求print stack. 那么visual c++ 能否也print stack,这样几个程序员互 : 相赖账的时候,上面就不用投掷色子来决定最不喜欢谁。 : 另外我们说在MS window, visual c++ 写的程序,如果说程序自己结束了,没有被kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
| g**w 发帖数: 969 | 14 先说说清楚,到底是crash还是正常退出
crash就看callstack
正常退出就设断点,debug | h***i 发帖数: 1970 | 15
linux下,可以用backtrace.
【在 t****t 的大作中提到】 : windows不清楚, 但是atexit应该是可以用的. 在exit()或者正常从main返回都是会调 : 用的. : 怎么show stack不清楚. : 如果非正常退出, 比如abort或者GPE那就需要依赖dr watson. : : exception : kill,crash应该说是程序自己结束的尽管非正常,那么最后是不是都要经过_exit?
| h**********c 发帖数: 4120 | 16 Thanks for the replies.
I will try with the tools mentioned. If there is any progress, I will update
here. |
|