[Lldb-commits] [PATCH] Fix a problem where lldb-mi would not stop the debuggee after -exec-interrupt command.

Ilia K ki.stfu at gmail.com
Fri Feb 20 08:58:55 PST 2015


In http://reviews.llvm.org/D7783#127438, @abidh wrote:

> In http://reviews.llvm.org/D7783#127420, @ki.stfu wrote:
>
> > In http://reviews.llvm.org/D7783#127295, @ki.stfu wrote:
> >
> > > Can you provide test for it?
> >
> >
> > I'll add this test in http://reviews.llvm.org/D7762.
>
>
> Thanks. I will wait for the test.


On OS X 2 tests failed: test_lldbmi_stopped_when_stopatentry_local / test_lldbmi_stopped_when_stopatentry_remote. I did some fix for it:

- Add thread-id and stopped-threads in SIGINT message:

  @@ -852,11 +853,18 @@
               bOk = bOk && MiHelpGetCurrentThreadFrame(miValueTuple);
               const CMICmnMIValueResult miValueResult5("frame", miValueTuple);
               bOk = bOk && miOutOfBandRecord.Add(miValueResult5);
  +            const CMIUtilString strThreadId(CMIUtilString::Format("%d", sbProcess.GetSelectedThread().GetIndexID()));
  +            const CMICmnMIValueConst miValueConst6(strThreadId);
  +            const CMICmnMIValueResult miValueResult6("thread-id", miValueConst6);
  +            bOk = bOk && miOutOfBandRecord.Add(miValueResult6);
  +            const CMICmnMIValueConst miValueConst7("all");
  +            const CMICmnMIValueResult miValueResult7("stopped-threads", miValueConst7);
  +            bOk = bOk && miOutOfBandRecord.Add(miValueResult7);
               bOk = bOk && MiOutOfBandRecordToStdout(miOutOfBandRecord);
               bOk = bOk && TextToStdout("(gdb)");
           }
           break;



- Fix signal tests:

  Index: test/tools/lldb-mi/signal/TestMiSignal.py
  ===================================================================
  --- test/tools/lldb-mi/signal/TestMiSignal.py   (revision 230022)
  +++ test/tools/lldb-mi/signal/TestMiSignal.py   (working copy)
  @@ -64,10 +64,7 @@
           self.expect("\^done")
  
           # Test that *stopped is printed
  -        # Note that message is different in Darwin and Linux:
  -        # Darwin: "*stopped,reason=\"signal-received\",signal=\"17\",thread-id=\"1\",stopped-threads=\"all\""
  -        # Linux:  "*stopped,reason=\"end-stepping-range\",frame={addr=\"0x[0-9a-f]+\",func=\"??\",args=\[\],file=\"??\",fullname=\"??\",line=\"-1\"},thread-id=\"1\",stopped-threads=\"all\"
  -        self.expect("\*stopped,reason=\"(signal-received|end-stepping-range)\",.+,thread-id=\"1\",stopped-threads=\"all\"")
  +        self.expect("\*stopped,reason=\"signal-received\",signal-name=\"SIGINT\",signal-meaning=\"Interrupt\",.*thread-id=\"1\",stopped-threads=\"all\"")
  
           # Run to main to make sure we have not exited the application
           self.runCmd("-break-insert -f main")
  @@ -112,7 +109,7 @@
               self.expect("\^done")
  
               # Test that *stopped is printed
  -            self.expect("\*stopped,reason=\"signal-received\",signal=\"17\",thread-id=\"1\",stopped-threads=\"all\"")
  +            self.expect("\*stopped,reason=\"signal-received\",signal-name=\"SIGINT\",signal-meaning=\"Interrupt\",.*thread-id=\"1\",stopped-threads=\"all\"")
  
               # Exit
               self.runCmd("-gdb-exit")


http://reviews.llvm.org/D7783

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the lldb-commits mailing list