Description: Trace the activities of an external application
Copyright: 2014-2022 Fabio Castelli (Muflone) muflone@muflone.com
License: GPL-3+
Source code: https://github.com/muflone/gptrace/
Documentation: http://www.muflone.com/gptrace/
Translations: https://explore.transifex.com/muflone/gptrace/
gpTrace can be used as an application debugger to discover what activities an application does, which files accesses (or tries to use in the case they miss), how many external processes are called and what arguments those processes were using.
From the gpTrace main window you choose an executable file, click the button Start and let the external program execute.
In the Activities tab you'll see the system calls were made and you can filter what to see or what you prefer to ignore to better undestand what the external program is doing.
In the Counts tab you'll see how many calls are made for each system call.
In the Files tab you'll the files the external program used or tried to use. If you want to see only the existing files and ignore what files the process has not found you can configure in the upper righe options menu.
In the Processes tab you'll the external processes were called from your application, along with their information and command line arguments.
From the upper right button you can configure the program options. Some options are also available clicking the mouse right button on the results list.
gpTrace uses a Python library called ptrace which, at the actual stage, results unstable and sometimes unreliable, therefore you are warned the called external program can fail, break, stop, hung or result unbearably slow.
In particular the opening and the closing processes are very delicate and sometimes a crash could happen when you start an application or when you close a running application.
If gpTrace hangs please kill the application using a process manager or the terminal command kill.
- Python >= 3.6 (developed and tested for Python 3.9 and 3.10)
- XDG library for Python 3 ( https://pypi.org/project/pyxdg/ )
- GTK+ 3.0 libraries for Python 3
- GObject libraries for Python 3 ( https://pypi.org/project/PyGObject/ )
- PTrace library for Python 3 ( https://pypi.org/project/python-ptrace/ )
A distutils installation script is available to install from the sources.
To install in your system please use:
cd /path/to/folder
python setup.py install
To install the files in another path instead of the standard /usr prefix use:
cd /path/to/folder
python setup.py install --root NEW_PATH
If the application is not installed please use:
cd /path/to/folder
python gptrace.py
If the application was installed simply use the gptrace command.