Utilizarea punctelor de întrerupere

Puteți să controlați unde și când punctul de întrerupere este executat prin specificarea condițiilor.

Faceți clic dreapta pe punctul de întrerupere sau plasați cursorul peste punctul de întrerupere și selectați pictograma Opțiuni.







În meniul de comenzi rapide, faceți clic pe Condiții. Se deschide fereastra Breakpoint Parameters:

Utilizarea punctelor de întrerupere

Dacă bifați caseta de validare Condiții. O fereastră se deschide cu diferite condiții.

Condiții expresive. Atunci când selectați o expresie condiționată, puteți alege două condiții: Este adevărat și când modificați. Selectați valoarea Este adevărată. dacă doriți să întrerupeți execuția dacă expresia este adevărată sau dacă modificați valoarea. dacă doriți să întrerupeți execuția atunci când modificați valoarea expresiei.

Următorul exemplu stabilește aplicația breakpoint numai dacă valoarea testInt este 4:

Utilizarea punctelor de întrerupere

Următorul exemplu stabilește aplicația breakpoint numai dacă se modifică valoarea testInt:

Utilizarea punctelor de întrerupere

Comportamentul câmpului "Când se schimbă" este diferit pentru diferite limbi de programare. Dacă valoarea schimbării este selectată pentru codul mașinii, debuggerul nu tratează calculul primei condiții ca o modificare, astfel încât primul calcul al punctului de întrerupere nu va funcționa. Dacă valoarea Schimbare este selectată pentru codul gestionat, punctul de întrerupere este declanșat când se face primul calcul după selectarea condiției Modificare condiție.

Dacă condiția breakpoint are o sintaxă invalidă, va apărea un mesaj de avertizare. Dacă specificați o condiție pentru breakpoint cu o semantică invalid, dar sintaxa validă, un mesaj de avertizare va apărea atunci când ajunge la un punct de întrerupere pentru prima dată. În orice caz, debuggerul întrerupe execuția atunci când atinge un punct de întrerupere inacceptabil. Punctul de întrerupere este ignorat numai dacă condiția este validă și este falsă.

O condiție poate fi orice expresie validă pe care debuggerul o recunoaște. Pentru mai multe informații despre expresii valide, consultați Expresii din Debugger.







Există cazuri în care este necesar să se analizeze comportamentul unui anumit obiect; de exemplu, este posibil să trebuiască să aflați de ce un obiect a fost introdus în colecție de mai multe ori. În C # și F #, puteți crea identificatori de obiecte pentru instanțe specifice ale tipurilor de referință și le puteți utiliza în condiții de punct întreruperi. Identificatorul de obiect este creat de serviciile de depanare CLR și este asociat cu obiectul. Pentru a crea un identificator de obiect, procedați în felul următor:

Setați punctul de întrerupere în cod după crearea obiectului.

Porniți depanarea și, atunci când execuția se oprește la punctul de întrerupere, localizați punctul de întrerupere în fereastra Local. dați clic dreapta pe el și selectați Creare identificator obiect.

În fereastra Local, ar trebui să vedeți simbolul $ și un număr. Acesta este identificatorul obiectului.

Adăugați un nou breakpoint în punctul pe care doriți să îl explorați, de exemplu, în punctul în care obiectul este adăugat colecției.

Utilizați ID-ul obiectului în câmpul "Expresie condiționată". De exemplu, dacă există o variabilă denumită element. care se referă la obiectul care urmează să fie adăugat la colecție, elementul set == $ n. unde n este numărul identificatorului obiectului.

Execuția se va termina în punctul în care obiectul este adăugat colecției.

Dacă mai târziu trebuie să ștergeți ID-ul obiectului, faceți clic dreapta pe variabila din fereastra Local și selectați Ștergeți identificatorul obiectului.

Rețineți că identificatorii de obiecte creează link-uri slabe și nu împiedică colectarea de gunoi pentru obiect. Acestea sunt valabile numai în sesiunea curentă de depanare.

Dacă există o suspiciune că ciclul codului începe să se comporte în mod necorespunzător după un anumit număr de iterații, vă puteți seta un punct de întrerupere pentru a opri de execuție după numărul specificat de hit-uri în linia corespunzătoare de cod, în loc să apăsați F5 de câteva ori-cheie pentru a atinge nivelul dorit de repetare.

În fereastra Breakpoint Parameters specificați numărul de hit-uri ca fiind condiția. Apoi puteți specifica numărul de iterații. Următorul exemplu stabilește punctul de întrerupere la fiecare iterație:

Utilizarea punctelor de întrerupere

Puteți limita punctul de întrerupere, făcând posibilă declanșarea numai pe anumite dispozitive sau în anumite procese sau fire.

În fereastra Breakpoint Parameters, specificați filtrul ca fiind condiția. Specificați una sau mai multe dintre expresiile de mai jos.

Valorile șirului trebuie să fie închise în ghilimele duble. Pentru o combinație de condiții, puteți utiliza semnele (Ii), || (OR). (NOT) și paranteze.

Un punct de urmărire este un punct de întrerupere care transmite un mesaj către fereastra de ieșire. Punctul de urmărire poate juca rolul unui operator de urmărire temporară în limba de programare.

În fereastra Breakpoint Parameters, bifați caseta de selectare Acțiuni. În grupul Acțiune, selectați Scrie mesaj în fereastra de ieșire. Puteți afișa un șir universal, de exemplu, acest test. Pentru a include o valoare variabilă sau o expresie într-un mesaj, utilizați cotiere cotite.

Pentru a întrerupe executarea la atingerea punctului de urmărire, deselectați caseta de selectare Continuare executare. Dacă este bifată caseta de selectare Continuare executare, execuția nu se oprește. În ambele cazuri, este afișat un mesaj.

În câmpul Mesaj, puteți utiliza următoarele cuvinte cheie.







Articole similare

Trimiteți-le prietenilor: