2 Commits

Author SHA1 Message Date
David Spickett
95b3fd6170 [lldb][test] Fix TestFrameFunctionInlined on Windows
This test was timing out on Linaro's Windows on Arm bot.

This was because it couldn't identify an inlined function to
break on, which let it run into an infinite loop, which exhausted
the stack, which would have taken forever to backtrace.

Full details here - https://github.com/llvm/llvm-project/issues/143104

I'm not sure PDB would help here but it does work with DWARF
as long as we use a linker that keeps it.

So I've changed the test to require Windows and lld, unless you're
not on Windows and then you can use any linker.

Also I had to regex some parts of the function name because
on Windows we get the return and parameter types too.
2025-06-06 10:38:49 +00:00
Michael Buch
5a918923f3
[lldb][Format] Add [inlined] marker to names of inlined frames (#142952)
This was removed in https://github.com/llvm/llvm-project/pull/135343 in
favour of making it a format variable, which we do here. This follows
the precedent of the `[opt]` and `[artificial]` markers.

Before:
```
 thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
 * frame #0: 0x000000010000037c a.out`inlined1() at inline.cpp:4:3
   frame #1: 0x000000010000037c a.out`regular() at inline.cpp:6:17
   frame #2: 0x00000001000003b8 a.out`inlined2() at inline.cpp:7:43
   frame #3: 0x00000001000003b4 a.out`main at inline.cpp:10:3
   frame #4: 0x0000000186345be4 dyld`start + 7040
```

After (note the `[inlined]` markers):
```
thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
* frame #0: 0x000000010000037c a.out`inlined1() at inline.cpp:4:3 [inlined]
  frame #1: 0x000000010000037c a.out`regular() at inline.cpp:6:17
  frame #2: 0x00000001000003b8 a.out`inlined2() at inline.cpp:7:43 [inlined]
  frame #3: 0x00000001000003b4 a.out`main at inline.cpp:10:3
  frame #4: 0x0000000186345be4 dyld`start + 7040
```

rdar://152642178
2025-06-05 17:41:37 +01:00