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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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



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




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

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

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


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



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

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

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

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

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