| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
You might want to review this change as it's my first time. Be gentle. :-)
|
|
|
|
|
| |
the debugged script, which means that imports from __main__ work
correctly now.
|
|
|
|
| |
Python program, optionally with different arguments.
|
|
|
|
|
|
| |
IndexError caused by passing in an invalid breakpoint number.
Will backport.
|
| |
|
| |
|
|
|
|
|
| |
the function name was placed into a regex pattern and the unbalanced paren
caused re.compile() to report an error
|
| |
|
| |
|
|
|
|
|
| |
stdout arguments, making it possible to redirect input and output
for remote debugging.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
the debugger enter inside pdb.set_trace.
Patch #1061767: make pdb.set_trace enter enter at the stack frame
calling pdb.set_trace().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes:
* Use fresh copy of globals/locals so the script being debugged can't access
the pdb namespace (e.g.: p line_prefix will no longer work).
* Remove pdb.py's path from sys.path. Having it in there is normally not a
problem, but it could prove irritating when messing with PYTHONPATH or
invoking pdb via /usr/bin/pdf.
* You can now set a breakpoint on the script being debugged, even if the script
doesn't end with a '.py' extension. Also, setting breakpoints with absolute
paths now works reliably.
Enhancements:
* Go directly to the first line of the script.
* Enter post-mortem debugging if the script being debugged doesn't catch an
exception.
* Restart the script being debugged and preserve debugger state when the script
being debugged exits.
Cleanup:
* Moved the __main__ method into a main() function.
* Kill the (undocumented, not in __all__) mainmodule/mainpyfile globals, add a
mainpyfile attribute to pdb.
Thanks Ilya Sandler for the patch!
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) When a breakpoint is set via a function name:
- the breakpoint gets the lineno of the def statement
- a new funcname attribute is attached to the breakpoint
2) bdb.effective() calls new function checkfuncname() to handle:
- def statement is executed: don't break.
- a first executable line of a function with a breakpoint on the lineno of the
def statement is reached: break.
This fixes bugs 976878, 926369 and 875404. Thanks Ilya Sandler.
|
|
|
|
|
| |
of the pdb.Pdb class gives have been corrected. d(own) goes to a newer frame,
u(p) to an older frame, not the other way around.
|
|
|
|
| |
From SF patch #852334.
|
| |
|
|
|
|
|
|
|
|
|
| |
Check the supplied breakpoint number more carefully.
(Incompatibility: before this patch, "enable -1" would enable
the last breakpoint on the list; now -1 is not a legal ID. Not sure
anyone would ever use negative indices...)
2.2 bugfix candidate, assuming making -1 illegal isn't considered a problem.
|
|
|
|
| |
Removed dead code.
|
|
|
|
|
|
| |
recursively.
- pdb has a new command, "debug", which lets you step through
arbitrary code from the debugger's (pdb) prompt.
|
| |
|
|
|
|
|
|
| |
[ 669692 ] pdb user_call breakage
What an odd interface! I guess I should have read the docstring, though.
|
|
|
|
| |
do_quit() -- but print a blank line first.
|
|
|
|
|
|
|
|
| |
[ 643835 ] Set Next Statement for Python debuggers
with a few tweaks by me: adding an unsigned or two, mentioning that
not all jumps are allowed in the doc for pdb, adding a NEWS item and
a note to whatsnew, and AuCTeX doing something cosmetic to libpdb.tex.
|
|
|
|
| |
pretty-prints the value of its expression argument.
|
|
|
|
|
|
| |
a more reasonable value.
Backport candidate.
|
| |
|
|
|
|
|
|
|
|
| |
[ 587993 ] SET_LINENO killer
Remove SET_LINENO. Tracing is now supported by inspecting co_lnotab.
Many sundry changes to document and adapt to this change.
|
|
|
|
|
|
|
| |
more spaces only crashed pdb.
While I was at it, cleaned up some style nits (spaces between function
and parenthesis, and redundant parentheses in if statement).
|
| |
|
|
|
|
|
|
| |
#543674.
Bugfix candidate.
|
| |
|
| |
|
| |
|
|
|
|
| |
pdb (pdb calls it 'where'). Added 'bt' as an alias for 'where'.
|
| |
|
|
|
|
| |
- Conform to standard coding style in a few more places.
|
|
|
|
|
| |
Use != instead of <> since <> is documented as "obsolescent".
Use "is" and "is not" when comparing with None or type objects.
|
|
|
|
|
|
|
|
|
|
| |
comments, docstrings or error messages. I fixed two minor things in
test_winreg.py ("didn't" -> "Didn't" and "Didnt" -> "Didn't").
There is a minor style issue involved: Guido seems to have preferred English
grammar (behaviour, honour) in a couple places. This patch changes that to
American, which is the more prominent style in the source. I prefer English
myself, so if English is preferred, I'd be happy to supply a patch myself ;)
|
|
|
|
|
|
|
| |
When you set a breakpoint on a function with a multi-line argument
list, the breakpoint is actually set on the second line of the
arguments instead of the first line of the body. This patch fixes
that.
|
|
|
|
|
|
|
|
|
|
| |
*this* set of patches is Ka-Ping's final sweep:
The attached patches update the standard library so that all modules
have docstrings beginning with one-line summaries.
A new docstring was added to formatter. The docstring for os.py
was updated to mention nt, os2, ce in addition to posix, dos, mac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
who writes:
Here is batch 2, as a big collection of CVS context diffs.
Along with moving comments into docstrings, i've added a
couple of missing docstrings and attempted to make sure more
module docstrings begin with a one-line summary.
I did not add docstrings to the methods in profile.py for
fear of upsetting any careful optimizations there, though
i did move class documentation into class docstrings.
The convention i'm using is to leave credits/version/copyright
type of stuff in # comments, and move the rest of the descriptive
stuff about module usage into module docstrings. Hope this is
okay.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I regularly find that pdb sets the breakpoint on the wrong line when I
try to set a breakpoint on a function. This fixes the problem
somewhat.
The real problem is that pdb tries to parse the Python source code to
find the first executable line. A better way might be to inspect the
code object, or even have a variable in the code object
co_firstexecutablelineno, but that's too much work.
The patch fixes the problem when the first code line after the def
statement contains the start *and* end of a triple-quoted string. The
code assumed that the end of a triple-quoted string is not on the same
line as the start, and so it would skip to the end of the *next*
triple-quoted string.
|
|
|
|
|
|
| |
the file that a function is defined on. Non-portable to Windows and
JPython. Instead, new find_function() uses re module on a similar
(simple-minded) pattern.
|