<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Breakpoints not being resolved correctly"
   href="https://llvm.org/bugs/show_bug.cgi?id=24668">24668</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Breakpoints not being resolved correctly
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lldb
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>lldb-dev@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>zturner@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>A number of tests which are seemingly unrelated fail because they all rely on
being able to set a breakpoint and then have it resolve dynamically once the
executable is run.

In certain instances, this doesn't work correctly on Windows, leading to output
similar to the following:


runCmd: breakpoint list -f
output: Current breakpoints:
1: file = 'main.cpp', line = 36, exact_match = 0, locations = 1
  1.1: where = a.out`void * step_thread_func(void) + 3 at main.cpp:36, address
= a.out[0x00412023], unresolved, hit count = 0 



Expecting sub string: 1: file = 'main.cpp', line = 36, locations = 1
Not matched

FAIL

Traceback (most recent call last):
  File "D:\src\llvm\tools\lldb\test\lldbtest.py", line 615, in wrapper
    func(*args, **kwargs)
  File "D:\src\llvm\tools\lldb\test\lldbtest.py", line 615, in wrapper
    func(*args, **kwargs)
  File "D:\src\llvm\tools\lldb\test\lldbtest.py", line 615, in wrapper
    func(*args, **kwargs)
  File "D:\src\llvm\tools\lldb\test\lldbtest.py", line 551, in wrapper
    return func(self, *args, **kwargs)
  File
"D:\src\llvm\tools\lldb\test\functionalities\thread\create_during_step\TestCreateDuringStep.py",
line 46, in test_step_inst_with_dwarf
    self.create_during_step_inst_test()
  File
"D:\src\llvm\tools\lldb\test\functionalities\thread\create_during_step\TestCreateDuringStep.py",
line 75, in create_during_step_inst_test
    self.create_during_step_base("thread step-inst -m all-threads", 'stop
reason = instruction step')
  File
"D:\src\llvm\tools\lldb\test\functionalities\thread\create_during_step\TestCreateDuringStep.py",
line 95, in create_during_step_base
    substrs = ["1: file = 'main.cpp', line = %d, locations = 1" %
self.breakpoint])
  File "D:\src\llvm\tools\lldb\test\lldbtest.py", line 2630, in expect
    msg if msg else EXP_MSG(str, exe))
AssertionError: False is not True : Breakpoint location shown correctly

As can be seen, the breakpoint is set, but it is unresolved so it has no
breakpoitn locations, causing the test to fail.

This affects (at a minimum) the following set of tests:

TestThreadStates.ThreadStateTestCase.test_process_interrupt_with_dwarf
TestThreadStates.ThreadStateTestCase.test_process_state_with_dwarf
TestCreateDuringStep.CreateDuringStepTestCase.test_step_in_with_dwarf
TestCreateDuringStep.CreateDuringStepTestCase.test_step_inst_with_dwarf
TestCreateDuringStep.CreateDuringStepTestCase.test_step_over_with_dwarf
TestExitDuringBreak.ExitDuringBreakpointTestCase.test_with_dwarf
TestMultipleBreakpoints.MultipleBreakpointTestCase.test_with_dwarf
TestThreadStates.ThreadStateTestCase.test_state_after_breakpoint_with_dwarf</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>