2013-03-09 17 views
5

W gdb mogłem pominąć następne n punktów przerwania przez "kontynuuj n" lub pominąć następne n wierszy przez "następny n". Jakie są odpowiedniki w lldb?Pomiń następne n punktów przerwania w lldb

A jeśli ich nie było, w jaki sposób mogę je utworzyć samodzielnie w rozszerzeniu Pythona lldb? Próbowałem czegoś takiego, ale to nie zadziałało, lldb zawiesza się, gdy wpisuję polecenie, które dodałem.

def cc(debugger, args, result, dict): 
    target = debugger.GetSelectedTarget() 
    process = target.GetProcess() 
    process.Continue() 

Odpowiedz

4

Komenda process continue akceptuje opcję -i który będzie ignorował kolejne : i mecze dla przerwania aktualnie zatrzymał się na bieżącym wątku. na przykład

Process 13559 stopped 
* thread #1: tid = 0xb7da5, 0x0000000100000f21 a.out`main + 49 at a.c:7, stop reason = breakpoint 2.1 
    #0: 0x0000000100000f21 a.out`main + 49 at a.c:7 
    4  int i; 
    5  for (i = 0; i < 100; i++) 
    6  { 
-> 7   printf ("%d\n", i); 
    8  } 
    9 } 
(lldb) c -i 5 
Process 13559 resuming 
0 
1 
2 
3 
4 
5 
Process 13559 stopped 
* thread #1: tid = 0xb7da5, 0x0000000100000f21 a.out`main + 49 at a.c:7, stop reason = breakpoint 2.1 
    #0: 0x0000000100000f21 a.out`main + 49 at a.c:7 
    4  int i; 
    5  for (i = 0; i < 100; i++) 
    6  { 
-> 7   printf ("%d\n", i); 
    8  } 
    9 } 
(lldb) 

Można również ustawić ignorowanych rachubę breakpointcie bezpośrednio z breakpoint modify -i count bpnum.

+0

Świetna odpowiedź. Wielkie dzięki! – Rick

+0

Jeszcze jedno. Co powiesz na pominięcie następnych n linii? (Jak 'next n' w gdb). W lldb "proces" nie ma podkomendy "krok po kroku". 'thread' ma' step-over', ale wygląda na to, że nie ma opcji '-i'. – Rick

+0

Mając 'thread step-over' (aka' n') weź opcję '-i', byłoby dobrym ulepszeniem, zasugeruję to. Możesz dodać tymczasowy punkt przerwania (punkt przerwania "jednorazowy") za pomocą komendy alias 'tbr' (jest to po prostu opcja' breakpoint set'), chociaż nie pamiętam kiedy 'tbr' został dodany do lldb - może nie być jeszcze w wydanej wersji. –

Powiązane problemy