C_and_CPP 板


LINE

目前程式中会使用到 callback 这个callback 来在别人api 但此api的来源码要不到 目前发生一触法callback 即直接挂掉 只能靠core dump看 是参数问题 有办法用 try catch 避免程式直接挂点吗 谢谢 ---- Sent from BePTT on my iPhone 12 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.162.40 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1673496419.A.6B2.html
1F:推 CoNsTaR: 不懂问题在哪里,直接用 try catch 包住不行? 01/12 12:26
2F:→ soufon: callback 的话,无法包住 01/12 12:30
3F:→ soufon: callback 就一个func的定义,无法在定义外包一层try cat 01/12 12:32
4F:→ soufon: ch,而此func一被触法就挂了,根本连第一行都没执行到, 01/12 12:32
5F:→ soufon: 参数就挂了 01/12 12:32
6F:→ bdvstg: 被呼叫的跟呼叫的都在别人那? 01/12 12:32
7F:→ soufon: 我这边有挂载那只api 01/12 12:38
8F:→ soufon: 事件一触发就会跳进api里面,api我们这边有overwrite但挂 01/12 12:39
9F:→ soufon: 在一被call的时候,来不及try catch 01/12 12:39
10F:推 LPH66: callback API 详细长怎样? 01/12 12:48
11F:→ LPH66: 你怎麽判断是参数问题的? 01/12 12:49
12F:→ LPH66: 你所发现的「参数问题」又是怎样的参数才使程式当掉? 01/12 12:50
13F:→ soufon: core dump: std::invalid_argument 而且callback第一行都 01/12 12:50
14F:→ soufon: 还没执行到就挂 01/12 12:50
15F:→ soufon: 外部msg server来的讯息,跟外部要send log 看起来无异常 01/12 12:51
16F:→ soufon: .. 01/12 12:51
17F:推 LPH66: invalid_argument...有种 stoi 失败的味道在 01/12 12:56
18F:→ LPH66: 查一下 send log 里有没有该是数字的栏位里没有数字 01/12 12:57
19F:→ LPH66: 我会猜这不是你们的 callback 的问题 01/12 12:57
20F:→ LPH66: 说起来你有 coredump, gdb 进去後是不是停在 stoi 里? 01/12 13:00
21F:→ soufon: what () invalid string : float 01/12 13:19
22F:→ soufon: 但跟外部要到的send log没啥问题… 01/12 13:19
23F:→ descent: 你可以用组合语言的单步执行吗?可以找到哪行组语有问题 01/12 14:45
24F:→ soufon: 好像无法组语单步执行,km onmessage一call 进来直接exc 01/12 15:03
25F:→ soufon: eption 挂掉 01/12 15:03
26F:→ soufon: 因无法try catch 阻挡挂掉 qq 01/12 15:03
27F:推 LPH66: 果然虽不中也不远, 这看起来是挂在 stof 里 01/12 20:23
28F:→ LPH66: 那既然在进入你的 callback 前就挂了合理怀疑是来的讯息中 01/12 20:24
29F:→ LPH66: 该是数字的栏位没有数字, 传进 stof 就挂了 01/12 20:24
30F:→ LPH66: 去问你用的这个 API 的作者有没有什麽地方会有这种问题 01/12 20:24
31F:→ LPH66: 总之这应该是来的讯息跟它的处理程式的问题 01/12 20:25
32F:→ LPH66: 和你的 callback 没有关系 01/12 20:25
33F:→ LPH66: 噢, 或许 what() 里冒号後面的就是传进的字串本身 01/12 20:26
34F:→ LPH66: 你能掌握到的所发送讯息当中有没有 float 这种字放在 01/12 20:27
35F:→ LPH66: 该是数字的栏位当中的? 01/12 20:27
36F:→ LPH66: 问题源头应该是来的讯息, 你也可以问一下发送方 01/12 20:27
37F:→ LPH66: 有没有可能把字串放进数字栏位里的可能 01/12 20:27
38F:→ soufon: 问发送方的讯息确实没错,不知道是不是 callback 在收的 01/12 22:19
39F:→ soufon: 时候记忆体溢出造成参数跑掉吗? 01/12 22:19
40F:推 enthos: Linux:sigsetjmp()/siglongjmp() 01/13 03:48
41F:→ enthos: Win: nirsoft Preventing application crash by using 01/13 03:48
42F:→ enthos: exception handling mechanism http://bit.ly/3vVmpnE 01/13 03:48
43F:→ enthos: http://bit.ly/3GEjODh Linux recover from SIGSEGV 01/13 03:52
44F:→ enthos: https://gist.github.com/Nadrin/1026045 backtrace() 01/13 03:54
45F:推 alan23273850: 用 gdb debug 看看吧 01/13 09:20
46F:→ soufon: 感谢en大,我加上了,但还是直接crash,没有进入我的sig 01/13 12:22
47F:→ soufon: _handler 我参考第三个连结 01/13 12:22
48F:→ soufon: 是因为是开thread的关系吗 01/13 12:25
49F:→ soufon: 後来发现注册後都回传ignore.. 01/13 13:57
50F:→ soufon: 设定好了,我再试试 01/13 15:22
51F:→ soufon: 目前可抓到segment fault signal 01/13 15:22







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP