<div dir="ltr">I am unfortunately not getting that behaviour out of lldb 330.0.44. <br><br><div>I'm running a small test file in order to try the behaviour out:</div><div><br></div><div><div>void threadTest(){</div><div>  int *a = nullptr;</div><div>  std::cout << *a << std::endl;</div><div>  std::abort();</div><div>}</div><div><br></div><div>int main(){</div><div>  auto t = std::thread(threadTest);</div><div>  t.join();</div><div>  </div><div>  return 0;</div><div>}</div></div><div><br></div><div>If I then attach lldb to the generated core file, and run thread list I get the following output</div><div><div>(lldb) thread list</div><div>Process 0 stopped</div><div>* thread #1: tid = 0x0000, 0x00007fff88cf648a libsystem_kernel.dylib`__semwait_signal + 10, stop reason = signal SIGSTOP</div><div>  thread #2: tid = 0x0001, 0x000000010126624b test`threadTest() + 27, stop reason = signal SIGSTOP</div></div></div><br><div class="gmail_quote">mån 20 apr. 2015 kl 19:01 skrev Greg Clayton <<a href="mailto:gclayton@apple.com">gclayton@apple.com</a>>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Apr 18, 2015, at 1:11 PM, Karl Johan Krantz <<a href="mailto:karl.johan.krantz@gmail.com" target="_blank">karl.johan.krantz@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I'm currently building a solution that parses stack traces from lldb into json, but I've run into the issue where I'm not able to find out which thread actually caused the crash itself.<br>
> In GDB, the default selected thread seems to be the one that crashed, but in LLDB it always seems like thread 1 is selected.<br>
> I had a feeling the python api might export the data I needed, but stop_reason and similar properties didn't seem to vary between the crashing/non-crashing threads.<br>
<br>
I am not sure we always know from a core file why things crashed. Is this information found in the ELF core file? It probably isn't. I don't think it is available in mach-o core files either.<br>
<br>
LLDB will always select the crashing thread if the thread had a stop reason. Let me know if this isn't happening. What does the output of:<br>
<br>
(lldb) thread list<br>
<br>
show? It should list all of the threads and their stop reasons, but again, I don't think core files contain the stop reasons for each thread so there is no way the ProcessElfCore plug-in can set the stop reason correctly.</blockquote></div>