请教版上的码工码婆,程序莫名运行了一半就自己停了,不知原因,求如何捕捉错误

vangoc
楼主 (北美华人网)
一个比较复杂的程序,完整的run下来,需要2个小时
但是有时候能run下来,有时候会莫名自己停了,visual studio也不报错,请问应该如何捕捉错误
谢谢各位厉害的码工码婆,我是小白,好多不懂,感恩
yolandos
一个比较复杂的程序,完整的run下来,需要2个小时
但是有时候能run下来,有时候会莫名自己停了,visual studio也不报错,请问应该如何捕捉错误
谢谢各位厉害的码工码婆,我是小白,好多不懂,感恩
vangoc 发表于 2020-09-25 17:44

deadlock, dump threads.
verayao
一般是print log
eagletiger1
一个比较复杂的程序,完整的run下来,需要2个小时
但是有时候能run下来,有时候会莫名自己停了,visual studio也不报错,请问应该如何捕捉错误
谢谢各位厉害的码工码婆,我是小白,好多不懂,感恩
vangoc 发表于 2020-09-25 17:44

程序里加一些输出行,输出变量值,这样就能看到程序怎么运行的了,或者干脆用VS里Debug的工具。
facet
回复 1楼vangoc的帖子
你这个好比在论坛里用键盘敲了几个哼哼哼的象声词,然后让大家帮你找你脑海中的那首歌
x
xinxin0505
太多的出错可能了, memory leak, synchronization, race condition, RPC etc. 建议在程序里面加logging, 下一次运行出错的时候看log就大体知道在哪出问题了
zejuanxiaoyu
或者用个小的测试集试一下
Kyes
有一个东西叫作log任何一种语言你都要会看log
一年明月
你得改它,让它报告进度和出错信息呀。如果是重要的流程,各个组成部分都应当分开测试,然后合起来测试。
javamonkey
回复 1楼vangoc的帖子
你这个好比在论坛里用键盘敲了几个哼哼哼的象声词,然后让大家帮你找你脑海中的那首歌
facet 发表于 2020-09-25 18:27

哈哈哈哈
m
mylittle9
打印log,找到大概位置。 设置断点。step in
phlin
一个比较复杂的程序,完整的run下来,需要2个小时
但是有时候能run下来,有时候会莫名自己停了,visual studio也不报错,请问应该如何捕捉错误
谢谢各位厉害的码工码婆,我是小白,好多不懂,感恩
vangoc 发表于 2020-09-25 17:44

所以我當年就不想做碼農
測試的時候
程式要設定輸出點
把幾個可能改變的參數一直輸出
for next i 輸出 i 呼叫 subroutine 把傳回的參數輸出
印在螢幕上 看他一直跳
比看股票漲跌還有趣啊
mohaha
回复12楼phlin 你到底想还是不想?我完全看糊涂了
coalpilerd
“莫名其妙地自己停了”是啥意思?是还在运行但是没按照你预料的输出,还是自己退出了?一堆可能啊。崩溃,死锁,死循环,资源短缺,非正常退出。崩溃的话自己会产生core文件,如果程序仍然在运行就强制结束,也会产生一个core,用gdb看core,绝大多数时候可以发现它的问题,除非是很恶心的内存读写错误;如果是非正常退出那就只能按照楼上的建议加log追踪了。
facet
所以我當年就不想做碼農
測試的時候
程式要設定輸出點
把幾個可能改變的參數一直輸出
for next i 輸出 i 呼叫 subroutine 把傳回的參數輸出
印在螢幕上 看他一直跳
比看股票漲跌還有趣啊
phlin 发表于 2020-09-25 19:19

现在调试代码早不这么干了,你不会是 Borland c++时代的吧
h
happywindveryhappy
设 break point, print statement, ...
lilpurple
很多年前也遇到过一样的问题,loop自己就停了不往下走了,然后重新运行的时候又可以接着运行下去,没改任何code,完全是编程小白勉勉强强用Python写出能跑的程序处理数据。。。至今不知道为啥。。。
miamivivian
stack overflow?
phlin
回复12楼phlin 你到底想还是不想?我完全看糊涂了
mohaha 发表于 2020-09-25 19:24

看參數跳來 以前在西雅圖有個美少女 做碼農
上mitbbs抱怨說 當碼農 每天就是抓自己留下的 bug 很沒成就感 那年頭我們還在西雅圖線下聚過 這麼有洞察力 又很有顏值的美少女
可惜我想回國 就沒留在西雅圖當碼農了
看參數跳來跳去固然有趣 看 蘿拉跳來跳去 更有趣啊

ReesWitherspoon
所以我當年就不想做碼農
測試的時候
程式要設定輸出點
把幾個可能改變的參數一直輸出
for next i 輸出 i 呼叫 subroutine 把傳回的參數輸出
印在螢幕上 看他一直跳
比看股票漲跌還有趣啊
phlin 发表于 2020-09-25 19:19

你们物理系少不了也要run simulation吧。
phlin
现在调试代码早不这么干了,你不会是 Borland c++时代的吧
facet 发表于 2020-09-25 19:39

c++ 才是王道啊
中間所有的 coding 工具 都是浮雲
seattlemouse
看參數跳來 以前在西雅圖有個美少女 做碼農
上mitbbs抱怨說 當碼農 每天就是抓自己留下的 bug 很沒成就感 那年頭我們還在西雅圖線下聚過 這麼有洞察力 又很有顏值的美少女
可惜我想回國 就沒留在西雅圖當碼農了
看參數跳來跳去固然有趣 看 蘿拉跳來跳去 更有趣啊


phlin 发表于 2020-09-25 21:47

哈哈。一起版聚过,在chinatown吃的饭?来,对个暗号,...
我看到你的ID,才特意又跑回来华人玩了。已经不在这里玩很久了。
phlin
哈哈。一起版聚过,在chinatown吃的饭?来,对个暗号。
我看到你的ID,才特意又跑回来华人玩了。已经不在这里玩很久了。
seattlemouse 发表于 2020-09-25 21:55

seattlemouse
回复 23楼phlin的帖子
我家至今还有你的四把白椅子。:)
phlin
回复 23楼phlin的帖子
我家至今还有你的四把白椅子。:)
seattlemouse 发表于 2020-09-25 22:01

那個不是我啦 我 2000-2001在西雅圖 混過一年三個月
seattlemouse
那個不是我啦 我 2000-2001在西雅圖 混過一年三個月
phlin 发表于 2020-09-25 22:09

反正向你问好。
phlin
再对个暗号,女生长得像大话西游里的朱茵? 反正向你问好。
seattlemouse 发表于 2020-09-25 22:14

是沒錯啊 我說的都是實話喔
seattlemouse
是沒錯啊 我說的都是實話喔
phlin 发表于 2020-09-25 22:15

哈哈。看见你儿女双全,为你高兴。:)
EstherDana2020
多加log,反复测试
phlin
哈哈。看见你儿女双全,为你高兴。:)
seattlemouse 发表于 2020-09-25 22:17

我當年在西雅圖待不下去 一個很重要的原因是 過敏 晚上頭得靠著暖氣 才能呼吸睡覺 所以後來才開發出 抗過敏三套組
多謝了



seattlemouse
我當年在西雅圖待不下去 一個很重要的原因是 過敏 晚上頭得靠著暖氣 才能呼吸睡覺 所以後來才開發出 抗過敏三套組
多謝了




phlin 发表于 2020-09-25 22:20

回去更适合你,芝大物理系,在这里如果做博后,太屈才了。 西雅图的秋冬天也相当黑暗,漫长。
phlin
回去更适合你,芝大物理系,在这里如果做博后,太屈才了。 西雅图的秋冬天也相当黑暗,漫长。
seattlemouse 发表于 2020-09-25 22:22

回台灣真的想做啥就能做啥 當然是沒啥資源就是了
不想做碼農也有個原因
我照著固有的邏輯思考走 沒啥耐心
不能惡搞 多無聊啊
我不能理解 西雅圖哪邊漂亮
一堆丘陵 丘陵上一棟一棟的房子 不好看啊
天氣還好
從芝加哥到西雅圖
西雅圖已經很美好了


seattlemouse
回台灣真的想做啥就能做啥 當然是沒啥資源就是了
不想做碼農也有個原因
我照著固有的邏輯思考走 沒啥耐心
不能惡搞 多無聊啊
我不能理解 西雅圖哪邊漂亮
一堆丘陵 丘陵上一棟一棟的房子 不好看啊
天氣還好
從芝加哥到西雅圖
西雅圖已經很美好了



phlin 发表于 2020-09-25 22:23

跟Chicago比确实是好多了。西雅图我觉得你待的时间太短了,很多地方没有去。 我一直犹豫要不要自报家门,结果今天没忍住。哈哈。 我在这里没用买买提的ID,因为那个ID太多人认识我了。 先忙去了,see you around.
phlin
跟Chicago比确实是好多了。西雅图我觉得你待的时间太短了,很多地方没有去。 我一直犹豫要不要自报家门,结果今天没忍住。哈哈。 我在这里没用买买提的ID,因为那个ID太多人认识我了。 先忙去了,see you around.
seattlemouse 发表于 2020-09-25 22:30

關於 朱茵 的說法 大家千萬不要聽到之後就跑去 西雅圖想要驗證 裏頭可能有 隨記憶而美化的部分

phlin
你们物理系少不了也要run simulation吧。
ReesWitherspoon 发表于 2020-09-25 21:50

simulation 不值錢啊
物理 我只相信
親眼看得見的 摸得著的 能調參數的