我正在尝试运行文件。
# !/usr/bin/en sh
CAFFEROOT=/root/caffe
export LD_LIBRARY_PATH=$CAFFEROOT/build/lib/:$LD_LIBRARY_PATH
./app --ip 1.1.0.0:8887 --workers 1 --timeout 20
但我收到此错误消息。
root@1b311ba128b3:~/sharedfolder/code# sh run.sh
*** buffer overflow detected ***: ./app terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7329f)[0x7f58d08bd29f]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f58d095887c]
/lib/x86_64-linux-gnu/libc.so.6(+0x10d750)[0x7f58d0957750]
./app[0x43dcfb]
./app[0x43e15c]
./app[0x40cdcf]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f58d086bf45]
./app[0x40d63f]
======= Memory map: ========
00400000-004c7000 r-xp 00000000 08:12 5513936 /root/sharedfolder/code/app
006c6000-006c7000 r--p 000c6000 08:12 5513936 /root/sharedfolder/code/app
006c7000-006c8000 rw-p 000c7000 08:12 5513936 /root/sharedfolder/code/app
006c8000-006c9000 rw-p 00000000 00:00 0
0187d000-018fb000 rw-p 00000000 00:00 0 [heap]
我不确定这意味着什么吗?关于如何处理此问题的任何想法都可能会有所帮助。预先感谢
答案 0 :(得分:1)
gdb将是我执行此操作的工具。像
# !/usr/bin/en sh
CAFFEROOT=/root/caffe
export LD_LIBRARY_PATH=$CAFFEROOT/build/lib/:$LD_LIBRARY_PATH gdb ./app --ip 1.1.0.0:8887 --workers 1 --timeout 20
...然后
run
以下是一个很好的技巧,可以查看直到段错误为止正在执行的行:
使用上述gdb运行,然后:
set logging on
break main
run
while 1
step
end
...跟踪然后在gdb.txt