docs: Added 'how to debug' page
This commit is contained in:
47
docs/howto/localdebug.md
Normal file
47
docs/howto/localdebug.md
Normal 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**
|
||||
|
||||

|
||||
|
||||
5. Find G2O Server process and select it
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
!!! 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)
|
||||
|
||||

|
||||
Reference in New Issue
Block a user