@@ -40,28 +40,27 @@ def test(self):
40
40
target = self .dbg .CreateTarget (exe )
41
41
self .assertTrue (target , VALID_TARGET )
42
42
43
- bp1_line = line_number ("main.c" , "// Set breakpoint 1 here" )
44
- bp2_line = line_number ("main.c" , "// Set breakpoint 2 here" )
45
-
46
- lldbutil .run_break_set_by_file_and_line (
47
- self , "main.c" , bp1_line , num_expected_locations = 1
48
- )
49
- lldbutil .run_break_set_by_file_and_line (
50
- self , "main.c" , bp2_line , num_expected_locations = 1
51
- )
43
+ main_dot_c = lldb .SBFileSpec ("main.c" )
44
+ bp1 = target .BreakpointCreateBySourceRegex ("// Set breakpoint 1 here" , main_dot_c )
45
+ bp2 = target .BreakpointCreateBySourceRegex ("// Set breakpoint 2 here" , main_dot_c )
52
46
53
47
process = target .LaunchSimple (None , None , self .get_process_working_directory ())
54
48
self .assertTrue (process , VALID_PROCESS )
55
49
56
- thread = process .GetThreadAtIndex (0 )
50
+ # Get the thread executing a.out.
51
+ threads = lldbutil .get_threads_stopped_at_breakpoint (process , bp1 )
52
+ self .assertEqual (len (threads ), 1 )
53
+ thread = threads [0 ]
54
+
57
55
if self .TraceOn ():
58
56
print ("Backtrace at the first breakpoint:" )
59
57
for f in thread .frames :
60
58
print (f )
59
+
61
60
# Check that we have stopped at correct breakpoint.
62
61
self .assertEqual (
63
- process . GetThreadAtIndex ( 0 ) .frame [0 ].GetLineEntry ().GetLine (),
64
- bp1_line ,
62
+ thread .frame [0 ].GetLineEntry ().GetLine (),
63
+ bp1 . GetLocationAtIndex ( 0 ). GetAddress (). GetLineEntry (). GetLine () ,
65
64
"LLDB reported incorrect line number." ,
66
65
)
67
66
@@ -70,15 +69,14 @@ def test(self):
70
69
# 'continue' command.
71
70
process .Continue ()
72
71
73
- thread = process .GetThreadAtIndex (0 )
74
72
if self .TraceOn ():
75
73
print ("Backtrace at the second breakpoint:" )
76
74
for f in thread .frames :
77
75
print (f )
78
76
# Check that we have stopped at the breakpoint
79
77
self .assertEqual (
80
78
thread .frame [0 ].GetLineEntry ().GetLine (),
81
- bp2_line ,
79
+ bp2 . GetLocationAtIndex ( 0 ). GetAddress (). GetLineEntry (). GetLine () ,
82
80
"LLDB reported incorrect line number." ,
83
81
)
84
82
# Double-check with GetPCAddress()
0 commit comments