docs: Added 'how to debug' page

This commit is contained in:
AURUMVORXX
2024-11-26 01:12:00 +03:00
parent d779d0a661
commit cbd432a1e7
3 changed files with 55 additions and 1 deletions

View File

@@ -12,10 +12,11 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: '3.13'
- run: | - run: |
pip install mkdocs pip install mkdocs
pip install "mkdocstrings[python]" pip install "mkdocstrings[python]"
pip install mkdocs-material pip install mkdocs-material
pip install mkdocs-callouts pip install mkdocs-callouts
pip install mkdocs-glightbox
mkdocs gh-deploy --force mkdocs gh-deploy --force

47
docs/howto/localdebug.md Normal file
View File

@@ -0,0 +1,47 @@
## Debug with VSCode
1. Install **debugpy** module
`pip install debugpy`
2. Add to your code listening to the default `5678` port with debug adapter
```python
import debugpy
debugpy.listen(5678, in_process_debug_adapter=True)
```
3. Launch your G2O Server
4. In VSCode, go to your Python script, press **F5** and select **Attach using Process ID**
![Screenshot](https://picloud.cc/images/97bf2c4c7821af4b32b7906ba5dbee2f.png)
5. Find G2O Server process and select it
![Screenshot](https://picloud.cc/images/e438291ae8fe213fb6a4ff7ea57821f0.png)
![Screenshot](https://picloud.cc/images/70621be4531719d40606dce7fec7a49b.png)
!!! warning
Sometimes **debugpy** isn't terminating process even after server is closed. Keep an eye on process list while attaching, so you can terminate them manually.
## Debug with PDB
Python Debugger (PDB) is already implemented by default, so you can place breakpoints right away
```python
@g2o.event('onTime')
def evtTime(**kwargs):
a = 5
b = 246
c = a * b
breakpoint()
print(kwargs)
```
That way PDB interface will show up on breakpoint encounter, and you can use it [as usual](https://docs.python.org/3/library/pdb.html)
![Screenshot](https://picloud.cc/images/982c6932a818efb657406a9f4041067a.png)

View File

@@ -6,11 +6,15 @@ markdown_extensions:
- pymdownx.details - pymdownx.details
- pymdownx.superfences - pymdownx.superfences
- sane_lists - sane_lists
- attr_list
- md_in_html
- pymdownx.blocks.caption
plugins: plugins:
- mkdocstrings - mkdocstrings
- search - search
- callouts - callouts
- glightbox
repo_url: https://github.com/AURUMVORXX/PyG2O.git repo_url: https://github.com/AURUMVORXX/PyG2O.git
@@ -18,6 +22,8 @@ nav:
- How to use: index.md - How to use: index.md
- Comparing with Squirrel: comparing.md - Comparing with Squirrel: comparing.md
- QnA: qna.md - QnA: qna.md
- How To...:
- ...debug?: howto/localdebug.md
- Classes: - Classes:
- Game: - Game:
- Daedalus: classes/game/Daedalus.md - Daedalus: classes/game/Daedalus.md