When gdb is started and context is disabled by clearing `context-sections` before a context output was ever issued, the context history failed to handle the empty history. It assumed that there would always be data in one of the sections after running the context command.
* Allow reentrant memory management calls in the heap tracker
* Defer deletion of GDB breakpoints and improve handling of `free(0)` and `realloc(..., 0)`
* Display instances of `free(0)` in the output of the heap tracker
* Fix/improve UX of start/sstart/entry on remote targets
Fixes#2584 by checking if the target is remote in `start`, `entry` and `sstart` commands.
* fix lint
When building a customized Docker image containing pwndbg using ubuntu:20.04 as base, the build process does not fail even when setup.sh exits because Ubuntu 20.04 isn't supported anymore.
I think setup.sh should make the Docker image build process fail by emitting non-zero return values.
* Add workaround for deadlock in gdb, when calling gdb.execute inside stop event
* Add workaround for deadlock in gdb, when calling gdb.execute inside stop event
* Fix#2549: block config.<name> assignments
This commit blocks `config.<param> = <value>` assignments as they should be done via `config.<param>.value = <value>`
instead.
* Update config.py
* add .value
* Added a workaround to correctly handle broken registers in unicorn
* Disable emulate when unicorn report error
* Refactor: disable emulate when error
* add workaround for gdbserver, exception: Remote 'g' packet reply is too long
* Fix workaround for gdbserver, for single events
* cleanup redundant class
* cleanup _inner_handler
* fix poetry not finding the pwndbg folder
Manifested with error message:
Detected outdated Pwndbg dependencies (poetry.lock). Updating.
Poetry could not find a pyproject.toml file in <calling dir> or its parents
when pwndbg gets sourced from gdb
Co-authored-by: patryk4815 <patryk.sondej@gmail.com>
* add type to param, also fix lldbinit.py
---------
Co-authored-by: patryk4815 <patryk.sondej@gmail.com>
* Port commands to agnostic: procinfo, pid. Additionally drop unused android support.
Later we should check android support and implement it proper.
* procinfo: drop class
* commands/plist.py: port to aglib
* commands/plist.py: fix lint
* commands/plist.py: Fix types
* commands/plist.py: make available from lldb
* ptype: implement compare for LDDBType and GDBType
* ptype: fix display value
* gdb/GDBValue: fix rethrowing exception
* aglib: create new function Value.value_to_human_readable
* Fix proper check symlink path
* Fix#2531 terminfo issues in portable build
* Remove useless line this should be remove in #2459 PR
* Fix terminfo for portable on darwin
* test ci TERM=xterm-256color
* portable: Disable user site packages `-s` (same as PYTHONNOUSERSITE=1)
* portable: fix bundling on darwin
* portable: Disable user site packages (same as PYTHONNOUSERSITE=1)
* portable: Disable user site packages