[Lldb-commits] [PATCH] D59015: [lldb-mi] Include full path in the -data-disassemble response
Anton Kolesov via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 9 12:09:08 PDT 2019
anton.kolesov updated this revision to Diff 194376.
anton.kolesov added a comment.
Replaced static local variable (as can be found in CMICmnLLDBDebugSessionInfo::GetFrameInfo) with a unique_ptr to the char array (as done in CMICmnLLDBDebuggerHandleEvents::MiHelpGetModuleInfo).
Repository:
rLLDB LLDB
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59015/new/
https://reviews.llvm.org/D59015
Files:
lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
lldb/tools/lldb-mi/MICmdCmdData.cpp
Index: lldb/tools/lldb-mi/MICmdCmdData.cpp
===================================================================
--- lldb/tools/lldb-mi/MICmdCmdData.cpp
+++ lldb/tools/lldb-mi/MICmdCmdData.cpp
@@ -415,8 +415,12 @@
const MIuint nLine = lineEntry.GetLine();
const char *pFileName = lineEntry.GetFileSpec().GetFilename();
pFileName = (pFileName != nullptr) ? pFileName : pUnknown;
+ // Get a full path to the file.
+ std::unique_ptr<char[]> pPathBuffer(new char[PATH_MAX]);
+ lineEntry.GetFileSpec().GetPath(pPathBuffer.get(), PATH_MAX);
- // MI "src_and_asm_line={line=\"%u\",file=\"%s\",line_asm_insn=[ ]}"
+ // MI "src_and_asm_line={line=\"%u\",file=\"%s\",line_asm_insn=[ ],
+ // fullname=\"%s\"}"
const CMICmnMIValueConst miValueConst(
CMIUtilString::Format("%u", nLine));
const CMICmnMIValueResult miValueResult("line", miValueConst);
@@ -427,6 +431,9 @@
const CMICmnMIValueList miValueList(miValueTuple);
const CMICmnMIValueResult miValueResult3("line_asm_insn", miValueList);
miValueTuple2.Add(miValueResult3);
+ const CMICmnMIValueConst miValueConst5(pPathBuffer.get());
+ const CMICmnMIValueResult miValueResult5("fullname", miValueConst5);
+ miValueTuple2.Add(miValueResult5);
const CMICmnMIValueResult miValueResult4("src_and_asm_line",
miValueTuple2);
m_miValueList.Add(miValueResult4);
Index: lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
+++ lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
@@ -56,6 +56,14 @@
"\^done,asm_insns=\[{address=\"0x0*%x\",func-name=\"main\",offset=\"0\",size=\"[1-9]+\",inst=\".+?\"}," %
addr)
+ # Test -data-disassemble with source line information
+ self.runCmd("-data-disassemble -s %#x -e %#x -- 1" % (addr, addr + 0x10))
+ self.expect(
+ '\^done,asm_insns=\[src_and_asm_line={line="\d+",file="main.cpp",'
+ 'line_asm_insn=\[{address="0x0*%x",func-name="main",offset="0",size="[1-9]+",inst=".+?"}\],'
+ 'fullname="%s"}' %
+ (addr, os.path.abspath("main.cpp")) )
+
# Run to hello_world
self.runCmd("-break-insert -f hello_world")
self.expect("\^done,bkpt={number=\"2\"")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59015.194376.patch
Type: text/x-patch
Size: 2492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190409/71f89608/attachment.bin>
More information about the lldb-commits
mailing list