আপনি যদি /proc/sys/kernel/yama/ptrace_scope
এর ডিফল্ট মানকে সেট করে ছেড়ে যেতে পছন্দ করেন 1
, তবে কর্মপরিকল্পনা হিসাবে আপনি gdb
যে প্রোগ্রামটি ডিবাগ করতে চান তা চালানোর জন্য আপনি বিবেচনা করতে পারেন। তারপরে আপনি কেবল টিপে ডিবাগারটি আনতে পারেন ^C
। উদাহরণস্বরূপ, (বোরিং) প্রোগ্রামটি ডিবাগ করতে sleep 60
নিম্নলিখিতগুলি করুন:
$ gdb -q sleep -ex 'run 60'
এখানে একটি সম্পূর্ণ উদাহরণ।
$ gdb -q sleep -ex 'run 60'
Reading symbols from sleep...(no debugging symbols found)...done.
Starting program: /bin/sleep 60
^C
Program received signal SIGINT, Interrupt.
0x00007ffff7ad5d60 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:81
81 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) backtrace
#0 0x00007ffff7ad5d60 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:81
#1 0x0000000000403cd7 in ?? ()
#2 0x0000000000403b88 in ?? ()
#3 0x00000000004016c9 in ?? ()
#4 0x00007ffff7a35ec5 in __libc_start_main (main=0x401540, argc=2, argv=0x7fffffffea08, init=<optimized out>,
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe9f8) at libc-start.c:287
#5 0x00000000004017d5 in ?? ()
(gdb) continue
Continuing.
[Inferior 1 (process 3531) exited normally]
(gdb) quit
যেহেতু /bin/sleep
(আশ্চর্যজনকভাবে) ডিবাগিং তথ্য ছাড়াই সংকলিত ছিল, তাই উপরের ব্যাকট্রিসে ন্যূনতম তথ্য রয়েছে।