Господа, доброй ночи. Пытаюсь подружиться с lldb, но он всё противится.
В частности собрал llvm + lldb + clang версии 3.4. Отладчик запускается если ему указать где найти liblldb.so. А вот дальше при выполнении шага выплёвывает ассемблерный код.
mkam@localhost /var/tmp/portage/llvm $ ~/opt/clang-3.4.2-release/bin/clang++ -g main.cpp
mkam@localhost /var/tmp/portage/llvm $ ~/opt/clang-3.4.2-release/bin/lldb ./a.out 
Current executable set to './a.out' (x86_64).
(lldb) list
   4   	{
   5   	    std::cout << "Fuck off, World" << std::endl;
   6   	
   7   	    return 0;
   8   	}
(lldb) process launch --stop-at-entry 
Process 9907 launched: './a.out' (x86_64)
Process 9907 launching
Process 9907 stopped
* thread #1: tid = 9907, 0x00007fa430b69400, name = 'a.out', stop reason = trace
    frame #0: 0x00007fa430b69400
-> 0x7fa430b69400:  movq   %rsp, %rdi
   0x7fa430b69403:  callq  0x7fa430b6c9e0
   0x7fa430b69408:  movq   %rax, %r12
   0x7fa430b6940b:  movl   0x21f8c7(%rip), %eax
(lldb) thread step-over 
Process 9907 stopped
* thread #1: tid = 9907, 0x00007fa430b69403, name = 'a.out', stop reason = instruction step over
    frame #0: 0x00007fa430b69403
-> 0x7fa430b69403:  callq  0x7fa430b6c9e0
   0x7fa430b69408:  movq   %rax, %r12
   0x7fa430b6940b:  movl   0x21f8c7(%rip), %eax
   0x7fa430b69411:  popq   %rdx
Взываю к вашей помощи. Подскажите, пожалуйста, как получить поведение аналогичное при использовании gdb - вывод строки на языке исходника. Спасибо.





