1. ホーム
  2. c

[解決済み] 警告 アドレス空間のランダム化を無効にするエラーです。操作は許可されていません

2023-05-10 18:16:03

質問

私は何を間違えてしまったのか(あるいは、間違えていないのか)。 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.

どのように解決するのですか?

Dockerを使用している場合、おそらくは --security-opt seccomp=unconfined オプションが必要でしょう (同様に ptrace も有効にしてください)。

docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined