[Lldb-commits] [PATCH] D152560: Make TestStepNodebug more robust against codegen changes

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Jun 9 10:04:59 PDT 2023


aprantl created this revision.
aprantl added reviewers: jingham, Michael137.
Herald added a subscriber: kristof.beyls.
Herald added a project: All.
aprantl requested review of this revision.

Depending on the compiler I've seen that for example the step-in command can do a column-step first before exiting out of the function:

  * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
      frame #0: 0x0000000100003d80 a.out`called_from_nodebug_actual(some_value=5) at with-debug.
  c:10:10
     2    
     3    typedef int (*debug_callee) (int);
     4    
     5    extern int no_debug_caller (int, debug_callee);
     6    
     7    int called_from_nodebug_actual(int some_value) {
     8      int return_value = 0;
     9      return_value = printf("Length: %d.\n", some_value);
  -> 10     return return_value; // Stop here and step out of me
                   ^
     11   }
     12   
     13   int called_from_nodebug(int some_value) {
     14     int intermediate_return_value = 0;
     15     intermediate_return_value = called_from_nodebug_actual(some_value);
     16     return intermediate_return_value;
     17   }
     18
  Process 58672 launched: '/Volumes/Data/llvm-project/_build.ninja.release/lldb-test-build.noindex/functionalities/step-avoids-no-debug/TestStepNoDebug.test_step_out_with_python_dsym/a.out' (arm64)
  (lldb) s
  Process 58672 stopped
  * thread #1, queue = 'com.apple.main-thread', stop reason = step in
      frame #0: 0x0000000100003d8c a.out`called_from_nodebug_actual(some_value=5) at with-debug.c:10:3
     2    
     3    typedef int (*debug_callee) (int);
     4    
     5    extern int no_debug_caller (int, debug_callee);
     6    
     7    int called_from_nodebug_actual(int some_value) {
     8      int return_value = 0;
     9      return_value = printf("Length: %d.\n", some_value);
  -> 10     return return_value; // Stop here and step out of me
            ^
     11   }
     12   


https://reviews.llvm.org/D152560

Files:
  lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
  lldb/test/API/functionalities/step-avoids-no-debug/with-debug.c
  lldb/test/API/functionalities/step-avoids-no-debug/without-debug.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D152560.530001.patch
Type: text/x-patch
Size: 5649 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230609/61c9c791/attachment.bin>


More information about the lldb-commits mailing list