| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
pep 0523 renames PyEval_EvalFrameEx to _PyEval_EvalFrameDefault while the gdb python extension only looks for PyEval_EvalFrameEx to understand if it is dealing with a frame.
Final effect is that attaching gdb to a python3.6 process doesnt resolve python objects. Eg. py-list and py-bt dont work properly.
This patch fixes that. Tested locally on python3.6
|
|
|
|
|
|
|
|
| |
* Replaced list(<generator expression>) with list comprehension
* Replaced dict(<generator expression>) with dict comprehension
* Replaced set(<list literal>) with set literal
* Replaced builtin func(<list comprehension>) with func(<generator
expression>) when supported (e.g. any(), all(), tuple(), min(), &
max())
|
|
|
| |
This change is required to make python-dbg.py compatible with GDB versions before 7.3.
|
|
|
|
| |
Calling builtin method is at most 10% faster.
|
|
|
|
|
| |
Issue #29367: python-gdb.py now supports also method-wrapper (wrapperobject)
objects.
|
|
|
|
|
|
|
|
| |
Issue #29259:
* Detect PyCFunction is the current frame, not only in the older frame
* Ignore PyCFunction_Call() since it now calls _PyCFunction_FastCallDict(), and
_PyCFunction_FastCallDict() is already detected
|
|
|
|
| |
Issue #29259.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #29259: Write fast path in _PyCFunction_FastCallKeywords() for
METH_FASTCALL, avoid the creation of a temporary dictionary for keyword
arguments.
Cleanup also _PyCFunction_FastCallDict():
* Don't dereference func before checking that it's not NULL
* Move code to raise the "no keyword argument" exception into a new
no_keyword_error label.
Update python-gdb.py for the change.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Frame.is_other_python_frame() now also handles _PyCFunction_FastCallDict()
frames.
Thanks to the new code to handle fast calls, python-gdb.py is now also able to
detect the <built-in id method of module ...> frame.
|
| |
| |
| |
| |
| |
| | |
Replace int(value.address)+offset with value.cast(unsigned char*)+offset.
It seems like int(value.address) fails on old versions of GDB.
|
| | |
|
|/ |
|
|
|
|
| |
The function was only called in _sizeof_void_p()
|
|
|
|
|
|
|
|
| |
Issue #26799: Fix python-gdb.py: don't get once C types when the Python code
is loaded, but get C types on demande. The C types can change if
python-gdb.py is loaded before the Python executable.
Patch written by Thomas Ilsche.
|
|
|
|
|
|
| |
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
|
|\
| |
| |
| |
| |
| |
| | |
requires them. Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface. Fixed
shebang lines in the unittestgui and checkpip scripts.
|
| |
| |
| |
| |
| |
| |
| | |
requires them. Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface. Fixed
shebang line to use python3 executable in the unittestgui script.
|
|\ \
| |/ |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
| |
| | |
in docstrings and comments.
|
| |
| |
| |
| | |
in docstrings and comments.
|
|\ \
| |/ |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
(test.test_gdb.PyBtTests)
|
|/
|
|
|
|
| |
display invalid strings. Such strings can be found while Python is creating a
new string, in a text decoder for example, when Python is compiled in debug
mode.
|
| |
|
|
|
|
| |
Patch from Serhiy Storchaka.
|
|
|
|
|
|
|
|
|
| |
The gdb hooks for debugging CPython (within Tools/gdb) have
been enhanced to show information on more C frames relevant to CPython within
the "py-bt" and "py-bt-full" commands:
* C frames that are waiting on the GIL
* C frames that are garbage-collecting
* C frames that are due to the invocation of a PyCFunction
|
|
|
|
| |
Patch from Mark Shannon.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the Python traceback if Python is optimized.
* delay the lookup of the size_t type, it is not available at startup
* The second argument of the PyFrameObjectPtr constructor is optional, as
done in other constructors
* iter_builtins() and iter_globals() methods of PyFrameObjectPtr returns
an empty tuple instead of None if Python is optimized
* Fix py-bt and py-bt-full to handle correctly "optimized" frames
* Frame.get_pyop() tries to get the frame pointer from PyEval_EvalCodeEx()
if the pointer is optimized out in PyEval_EvalFrameEx()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
traceback if Python is optimized.
* delay the lookup of the size_t type, it is not available at startup
* The second argument of the PyFrameObjectPtr constructor is optional, as
done in other constructors
* iter_builtins() and iter_globals() methods of PyFrameObjectPtr returns
an empty tuple instead of None if Python is optimized
* Fix py-bt and py-bt-full to handle correctly "optimized" frames
* Frame.get_pyop() tries to get the frame pointer from PyEval_EvalCodeEx()
if the pointer is optimized out in PyEval_EvalFrameEx()
|
| | |
|
| | |
|
| |
| |
| |
| | |
The lookup fails at startup if Python is linked to a shared library.
|
| | |
|
| |
| |
| |
| |
| | |
_PyUnicode_CheckConsistency() checks also hash and length value for not ready
Unicode strings.
|
| |
| |
| |
| | |
(issue #13130)
|
| |
| |
| |
| |
| | |
ascii=1 is no more reserved to PyASCIIObject. Use
PyUnicode_IS_COMPACT_ASCII(obj) to check if obj is a PyASCIIObject (as before).
|
| | |
|
|/ |
|
|
|
|
|
| |
py-list displays the error. py-bt ignores the error (the filename and line
number is already displayed).
|
|
|
|
| |
a smarter "py-bt" command printing a classic Python traceback.
|
| |
|
|
|
|
| |
a bug in ascii().
|