user1660886
user1660886

Reputation: 79

How do I configure GDB correctly, to stop error "You can't do that without a process to debug"

Ubuntu 16.04.4 LTS, GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1

I am trying to call a function in a compiled C program and get the following:

"(gdb) call getVarName(someParam)
 You can't do that without a process to debug."

There are no other codes or messages.

I can run the program from the shell prompt jef@ubuntu$ ./program. I can run the program within gdb after designating the file. Permissions are 777 (just to cover all bases).

Based on research, I set the SHELL with "export SHELL=/bin/bash" and set kernal.yama.ptrace_scope = 0 in /etc/sysctl.d/10-ptrace.conf

I still get the same behavior.

Upvotes: 3

Views: 12555

Answers (1)

Employed Russian
Employed Russian

Reputation: 213764

I still get the same behavior.

Naturally.

The error you are getting means: you can't do this, unless you are debugging a live process.

This will work:

(gdb) break main
(gdb) run
... GDB is now stopped, *and* you have a live process.
... you *can* call getVarName(...) now
(gdb) call getVarName(...)

(gdb) continue  # causes the process to run to end and exit
[Inferior 1 (process 195969) exited normally]

(gdb)  # Now you no longer have a live process, so you *again* can't
       # call functions in it.

Upvotes: 3

Related Questions