I'm in a linux based development environment where I don't have superuser permissions.
My basic issue is that the breakpoints I set in emacs through pdb never work. The debugger never halts at those breakpoints.
After investigating this issue, my suspicion is that it's because the path of the breakpoint doesn't match with the true path of the file.
First, the path that I see from the command line goes like this:
/home/me/a/b
But the administrators have set it up so that /home/me is actually a symlink to a hidden mount
/.hidden/x/me/a/b
When I launch emacs from /home/me/a/b
and try to debug test.py
in this directory by issuing M-x pdb
and then pdb test.py
, the header on the gud
buffer states the full path of the file is
/.hidden/x/me/a/b/test.py
Then when I try to set a breakpoint in the python file with M-x space
, the prompt I see in the gud
buffer is
Breakpoint X at /home/me/a/b/test.py:Y
So the breakpoint is under /home/me/a/b/test.py
but the filepath at the header of the gud
buffer is /.hidden/x/me/a/b/test.py
. And the debugger never stops at the breakpoint, which is very annoying.
I get a confirmation of my suspicions when I explicitly cd
into /.hidden/x/me/a/b/
and then launch emacs. Then I can set breakpoints and the debugger does stop at them.
Currently, my solution is to explicitly cd
into the proper path and launch emacs.
But are there better solutions? Be it through emacs, bash or python?