gdb optimized out错误解决

本文介绍了在使用Linux GDB进行调试时遇到变量值被优化掉的问题及解决方案。当使用如-O2等优化选项编译时,可能会导致GDB无法正确显示变量值。解决办法是关闭编译优化选项,改为使用-O0,这样可以避免源代码行误导问题。

when linux gdb debug, print a variable, such as i,  by command p i;

 

The gdb output  value optimized out.

 

The solution for the problem is off the compile optimation option -Ox,  x note digital, such 2, 3, 4 etc


The better way is that changing -Ox to -O0.

The -O0 denotes there is no optimization. It will avoid gdb mislead source code line issue.

#0 tpsocket_event_filelog_to_hub (handler=<optimized out>, buf=0xbe8b5c08, event=10) at storage.c:906 sock = <optimized out> session = 0x0 decrypt_flag = <optimized out> nbuf = <optimized out> __FUNCTION__ = "tpsocket_event_filelog_to_hub" final_file = <optimized out> #1 0xb6b8da2c in tpsocket_event (sock=sock@entry=0xd370e0, event=event@entry=10) at tpsocket_fd.c:107 dummy = {next = 0xbe8b5c08, prev = 0xbe8b5c08} ret = true empty_write = 1 __func__ = "tpsocket_event" #2 0xb6b8eaf6 in tpsocket_data_cb (ufd=0xd371a4, events=<optimized out>) at tpsocket_fd.c:1487 wret = 0 rret = <optimized out> nice = <optimized out> rlen = 0 wlen = 83 wait = <optimized out> sock = 0xd370e0 __func__ = "tpsocket_data_cb" #3 0xb6bba6f2 in uloop_run_events (timeout=<optimized out>) at /home/wuyilun/Desktop/CAMEOS/platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libubox-2016-07-29/uloop.c:192 stack_cur = {next = 0x0, fd = 0xd371a4, events = 0} events = <optimized out> cur = <optimized out> fd = 0xd371a4 cur = <optimized out> fd = <optimized out> stack_cur = <optimized out> events = <optimized out> #4 uloop_run () at /home/wuyilun/Desktop/CAMEOS/platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libubox-2016-07-29/uloop.c:543 recursive_calls = 1 tv = {tv_sec = 1268, tv_usec = 765487} #5 0x0001ab0c in main (argc=<optimized out>, argv=<optimized out>) at main.c:388 __FUNCTION__ = "main" final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> (gdb) #0 tpsocket_event_filelog_to_hub (handler=<optimized out>, buf=0xbe8b5c08, event=10) at storage.c:906 sock = <optimized out> session = 0x0 decrypt_flag = <optimized out> nbuf = <optimized out> __FUNCTION__ = "tpsocket_event_filelog_to_hub" final_file = <optimized out> #1 0xb6b8da2c in tpsocket_event (sock=sock@entry=0xd370e0, event=event@entry=10) at tpsocket_fd.c:107 dummy = {next = 0xbe8b5c08, prev = 0xbe8b5c08} ret = true empty_write = 1 __func__ = "tpsocket_event" #2 0xb6b8eaf6 in tpsocket_data_cb (ufd=0xd371a4, events=<optimized out>) at tpsocket_fd.c:1487 wret = 0 rret = <optimized out> nice = <optimized out> rlen = 0 wlen = 83 wait = <optimized out> sock = 0xd370e0 __func__ = "tpsocket_data_cb" #3 0xb6bba6f2 in uloop_run_events (timeout=<optimized out>) at /home/wuyilun/Desktop/CAMEOS/platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libubox-2016-07-29/uloop.c:192 stack_cur = {next = 0x0, fd = 0xd371a4, events = 0} events = <optimized out> cur = <optimized out> fd = 0xd371a4 cur = <optimized out> fd = <optimized out> stack_cur = <optimized out> events = <optimized out> #4 uloop_run () at /home/wuyilun/Desktop/CAMEOS/platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libubox-2016-07-29/uloop.c:543 recursive_calls = 1 tv = {tv_sec = 1268, tv_usec = 765487} #5 0x0001ab0c in main (argc=<optimized out>, argv=<optimized out>) at main.c:388 __FUNCTION__ = "main" final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> (gdb) 帮我改正。
11-03
#1 0x00048dde in tpsocket_event_filelog_to_hub (handler=0xd380f0, buf=0xd3822c, event=8) at worker.c:4136 request_value = "Ua6jXbNl9rpVijWQKgTfUPhq4dwuSeTKyfjQZ33Nf6mVSO3Tvm/Sk/b3oqoJAIY4HCMTWYGJfAZcDVsOl3XCkEhFcaoedmOtGyLm5jhAkCNreaXmTqAZ+upwyQ3ZWdY8ThKq8oTK9xggLtAnp7hATStvKCySA2HEUT50Qla25Yumy+rVRY2lVucmlmAJxxFpX15FTJea"... final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> sock = 0xd380e0 __FUNCTION__ = "tpsocket_event_filelog_to_hub" session = 0xd55ae8 decrypt_flag = 0 nbuf = <optimized out> fp = 0xd55aa0 remaining = 3150 filepath = <optimized out> input_data = 0xd561f3 "{\"method\":\"securePassthrough\",\"params\":{\"request\":\"Ua6jXbNl9rpVijWQKgTfUPhq4dwuSeTKyfjQZ33Nf6mVSO3Tvm/Sk/b3oqoJAIY4HCMTWYGJfAZcDVsOl3XCkEhFcaoedmOtGyLm5jhAkCNreaXmTqAZ+upwyQ3ZWdY8ThKq8oTK9xggLtAnp7hAT"... input_len = 3150 error = false decoded_data = 0x0 decoded_len = 0 plain_len = 0 plain_data = 0x0 final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> #2 0xb6bee9b4 in tpsocket_event (sock=sock@entry=0xd380e0, event=event@entry=8) at tpsocket_fd.c:112 ret = true empty_write = 1 __func__ = "tpsocket_event" #3 0xb6bf8794 in tpsocket_process_http (buf=0xd56068, sock=0xd380e0) at tpsocket_parser.c:4336 len = <optimized out> body = <optimized out> state = 9 parser = 0xd38240 state = <optimized out> parser = <optimized out> __func__ = "tpsocket_process_http" line = <optimized out> rtp = <optimized out> data = <optimized out> _s = <optimized out> _s = <optimized out> len = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> --Type <RET> for more, q to quit, c to continue without paging--
最新发布
11-07
#0 0xb661b9ca in __malloc_consolidate () from /home/wuyilun/Desktop/CAMEOS/platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/root-model_sstar_ssr920/lib/libc.so.0 No symbol table info available. #1 0xb661be96 in malloc () from /home/wuyilun/Desktop/CAMEOS/platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/root-model_sstar_ssr920/lib/libc.so.0 No symbol table info available. #2 0xb661c53c in calloc () from /home/wuyilun/Desktop/CAMEOS/platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/root-model_sstar_ssr920/lib/libc.so.0 No symbol table info available. #3 0x00044376 in tpsocket_event_filelog_to_hub (handler=0xd370a0, buf=0xd371dc, event=8) at storage.c:952 decoded_len = <optimized out> plain_data = <optimized out> plain_len = 1 final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> input_data = 0xd551c3 "RuLShVIdnAlmFnlmaUbHxR03a146YhY6zndf5ssXuNkY3wnk15bVlUEDQ0e8sHo0/WnrIgHrk8jH/+L7fHv4jxrXR7Fd8YPJbGIbD+DmweEuilgiYmZ0cvo843nHeWxk+zIzKxV55QBD9FUVZzawC1dRRxZGJTpyNKczhVG8IZCfn3XXqLt3hJ+X73Ylo06IsYSiEtbd"... decoded_data = 0x0 error = false input_len = 2476 final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> final_file = <optimized out> sock = 0xd37090 session = 0xd37830 decrypt_flag = 1 nbuf = 0xd54df8 fp = 0xd54e48 remaining = 2476 filepath = 0xd37834 "/mnt/sd_card/40AE30181089/log.txt" __FUNCTION__ = "tpsocket_event_filelog_to_hub" final_file = <optimized out> #4 0xb6c429b4 in tpsocket_event (sock=sock@entry=0xd37090, event=event@entry=8) at tpsocket_fd.c:112 ret = true empty_write = 1 __func__ = "tpsocket_event" #5 0xb6c4c5c0 in tpsocket_process_http (buf=0xd55028, sock=0xd37090) at tpsocket_parser.c:4336 len = <optimized out> body = <optimized out> state = 24 parser = 0xd371f0 state = <optimized out> parser = <optimized out> __func__ = "tpsocket_process_http" line = <optimized out> rtp = <optimized out> data = <optimized out> _s = <optimized out> _s = <optimized out> len = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> _s = <optimized out> --Type <RET> for more, q to quit, c to continue without paging--
11-03
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值