Als ich versuchte, ein C-Programm mit dem Befehl gdb im Docker-Container zu debuggen, Folgendes
warning: Error disabling address space randomization: Operation not permitted
Ich war sauer.
(gdb) b 5
Breakpoint 1 at 0x117c: file test.c, line 5.
(gdb) r
Starting program: /home/user/dev/test
warning: Error disabling address space randomization: Operation not permitted
Wie zu erwarten, verwendet gdb Systemaufrufe, aber es scheint, dass Sie nicht auf das Gerät des Hostcomputers zugreifen können, da Sie keine Berechtigung aus dem Container heraus haben.
Option zum Zulassen eines Systemaufrufs wird hinzugefügt.
$ docker run -it --cap-add=SYS_PTRACE --security-opt="seccomp=unconfined" [CONTAINER_NAME] /bin/bash
Schreiben Sie Folgendes unter "Service".
docker-compose.yaml
cap_add:
- "SYS_PTRACE"
security_opt:
- "seccomp=unconfined"
https://sott0n.github.io/posts/docker_gdb/
Recommended Posts