我做错了什么(或没做错)gdb对我来说不合适?
root@6be3d60ab7c6:/# cat minimal.c
int main()
{
int i = 1337;
return 0;
}
root@6be3d60ab7c6:/# gcc -g minimal.c -o minimal
root@6be3d60ab7c6:/# gdb minimal
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
.
.
.
Reading symbols from minimal...done.
(gdb) break main
Breakpoint 1 at 0x4004f1: file minimal.c, line 3.
(gdb) run
Starting program: /minimal
warning: Error disabling address space randomization: Operation not permitted
During startup program exited normally.
(gdb)
(gdb) print i
No symbol "i" in current context.
Run Code Online (Sandbox Code Playgroud) 这花了我一整天的时间才找到,所以我将其发布以供将来参考。
我正在 docker 镜像上开发 C++。我正在使用克利翁。
我的代码是在调试模式下编译的,并且在运行模式下运行良好,但是当尝试调试时,进程会立即退出,并显示非常丰富的信息
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
到
尝试调试仍然退出,但在 clion 中产生弹出窗口
'A packet returned error 8'
Run Code Online (Sandbox Code Playgroud)
相同的代码在本地计算机上调试得很好。
命令docker run是
RUN_CMD="docker run --group-add ${DOCKER_GROUP_ID} \
--env HOME=${HOME} \
--env="DISPLAY" \
--entrypoint /bin/bash \
--interactive \
--net "host" \
--rm \
--tty \
--user=${USER_ID}:${GROUP_ID} \
--volume ${HOME}:${HOME} \
--volume /mnt:/mnt \
$(cat ${HOME}/personal-uv-docker-flags) \
-v "${HOME}/.Xauthority:${HOME}/.Xauthority:rw" \
--volume /var/run/docker.sock:/var/run/docker.sock \
--workdir ${HOME} \
${IMAGE} $(${DIR}/impl/known-tools.py cmd-line ${TOOL})"
Run Code Online (Sandbox Code Playgroud)
如何在docker上调试C++?