Smart pdb_trace () - cum să puneți un breakpoint pe o anumită iterație

Smart pdb_trace () - cum să puneți un breakpoint pe o anumită iterație
  • piton
  • LXML

În timpul execuției, programul imprimă întregul jurnal la stdout.


Acum, pentru depanare folosesc:

"C" => "ENTER", "c" => "ENTER", "c"








Este necesar să se implementeze același lucru pe mașină, două dintre următoarele opțiuni descrise în întrebări:

1. pauză, care va indica care dintre aceste iterații ar trebui stabilite - atunci întrebarea este cum să puneți acest lucru?

2. Cum să setați condiția pentru a opri executarea codului, prin apariția unui anumit text (textul erorii este familiar pentru mine și apare o dată, exact în acest moment și este necesar să se oprească)?


P.S.> Și o altă mică întrebare - cum să derulezi înapoi \ înainte câteva etape (sau un pas), next'ov și continue'ov?








P.P.S> 2 opțiuni care au indicat - sunt singurele soluții sau mai sunt mai ușor de implementat?

Puteți apăsa pe Enter - repetă ultima comandă introdusă. De asemenea, este convenabil de a utiliza n [ext] - el execută comenzi, fără a intra în numite funcții sau UNT [IL] - execută comenzile atâta timp cât ar fi linia de mai jos (de exemplu, în cazul în care ultima linie a ciclului de a spune până când risipesc întreaga ... ciclu și se va opri pe echipa de lângă pune un punct de întrerupere condiționată, trebuie să spun b [reak] ([fișier:] Lineno | funcția) [, condiție] de exemplu, pauză de 42, a = 5. tranziţia de comandă la linia dorită - j [UMP .. .] Asta despre capturarea eroare tipică nu va spune - așa că nu folosesc, dar, în general, acest tip de e. - de exemplu, puteți încheia apelul într-un program de sobst Gov încercați / cu excepția pentru a prinde eroarea, a se vedea textul, și dacă același lucru -. Pentru a începe debugger (aici nu-mi amintesc cum să-l executați din codul) pentru a vizualiza stiva de apel (w [aici]).

Apropo, vă imprimă o eroare, dar nu imprimă traceback sau ce?

Consultați, de asemenea, manualul modulului și ajutorul intern (h [elp]).

Cu "C" această abordare nu funcționează - trebuie să repetați comanda ...
în cazul meu se poate face până la 10.000 de ori, dar o eroare va apărea (știu că) un pas de 7.000 + ...







Trimiteți-le prietenilor: