Trepan-Debuggers / Trepan-Debuggers/python3-trepan
Problems with conditional breakpoints defined with "break {...} if {condition}" command.
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 176
- Fork
- 17
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi,
I have been testing conditional breakpoints, but I have found some problems applying the condition directly when defining the breakpoints:
Python script used as example:
import sys
def main(arguments):
for i in range(10):
print(i)
print("Test")
if __name__ == '__main__':
main(sys.argv)
Defining condition in break-point creation:
trepan3k --highlight=plain --different test.py
(/tmp/python_example/test.py:1): <module>
-> 1 import sys
(trepan3k) break 4 if i==5
Breakpoint 1 set at line 4 of file /tmp/python_example/test.py
(trepan3k) break 5 if i==3
Breakpoint 2 set at line 5 of file /tmp/python_example/test.py
(trepan3k) info break
Num Type Disp Enb Where
-----------------------------------
1 breakpoint keep y at /tmp/python_example/test.py:4
stop only if if i==5
2 breakpoint keep y at /tmp/python_example/test.py:5
stop only if if i==3
(trepan3k) continue
(/tmp/python_example/test.py:4 @19): main
xx 4 print(i)
When printing breakpoints information, I have seen that 'if' word appears two times in condition definition information (stop only if if ...).
Defining condition after break-point creation:
trepan3k --highlight=plain --different test.py
(/tmp/python_example/test.py:1): <module>
-> 1 import sys
(trepan3k) break 4
Breakpoint 1 set at line 4 of file /tmp/python_example/test.py
(trepan3k) condition 1 i==5
(trepan3k) break 5
Breakpoint 2 set at line 5 of file /tmp/python_example/test.py
(trepan3k) condition 2 i==3
(trepan3k) info break
Num Type Disp Enb Where
-----------------------------------
1 breakpoint keep y at /tmp/python_example/test.py:4
stop only if i==5
2 breakpoint keep y at /tmp/python_example/test.py:5
stop only if i==3
(trepan3k) continue
0
Test
1
Test
2
Test
3
(/tmp/python_example/test.py:5 @29): main
xx 5 print("Test")
(trepan3k) eval i
3
I hope that this information can be helpful.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Reproduce the issue with the shown test.py script and the break 4 if i==5 command, then compare it with setting the condition afterward using condition. Trace the breakpoint command parsing and reporting path; done means inline conditions are displayed without a duplicated if and behave like conditions set afterward.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100