Luk*_*rth 3 debugging xcode qt lldb visual-studio-2012
我正在开发Qt项目,并且已经从他们的安装程序中将Qt安装到了我的计算机上。在Visual Studio中,调试到Qt源代码很简单:当我在未知文件中输入函数时,它将打开文件浏览器以让我找到原始Qt源代码。
Xcode或LLDB中是否有等效功能?
调试信息记录了QT源文件生成时的位置。您可以通过执行以下操作找到此信息:
(lldb) image lookup -va main
Address: hello[0x0000000100000f40] (hello.__TEXT.__text + 0)
Summary: hello`main at hello.c:5
Module: file = "/private/tmp/hello", arch = "x86_64"
CompileUnit: id = {0x00000000}, file = "/tmp/hello.c", language = "ISO C:1999"
Function: id = {0x00000026}, name = "main", range = [0x0000000100000f40-0x0000000100000f6d)
FuncType: id = {0x00000026}, decl = hello.c:4, clang_type = "int (void)"
Blocks: id = {0x00000026}, range = [0x100000f40-0x100000f6d)
LineEntry: [0x0000000100000f40-0x0000000100000f56): /tmp/hello.c:5
Symbol: id = {0x00000004}, range = [0x0000000100000f40-0x0000000100000f6d), name="main"
Run Code Online (Sandbox Code Playgroud)
但是用一些QT函数代替“ main”。然后查看CompileUnit行,并查看“文件”条目的内容。假设它说
"/BuildDirectory/sources/SomeSubdirectory/SomeFile.cpp"
Run Code Online (Sandbox Code Playgroud)
现在大概您已经下载了QT源,并且它们位于您本地计算机上的某个位置,例如
"/Users/ME/QT/sources"
Run Code Online (Sandbox Code Playgroud)
因此,您要做的就是告诉lldb:“当您看到源于/ BuildDirectory / sources的源文件时,请查看/ Users / ME / QT / sources。” 您可以通过lldb“ target.source-map”设置来实现。在此示例中,您将说:
(lldb) settings set target.source-map /BuildDirectory/sources /Users/ME/QT/sources
Run Code Online (Sandbox Code Playgroud)
您可以在命令行中键入该命令,也可以将其放入.lldbinit文件中,以备一般使用。lldb将自动更新其源映射,但是如果您在Xcode中运行,则在发出命令以使其更新后必须执行一次步骤。
归档时间: |
|
查看次数: |
1391 次 |
最近记录: |