Xcode等同于Visual Studio"查找源代码"

时间:2014-08-19 05:39:17

标签: xcode qt debugging visual-studio-2012 lldb

我正在开发一个Qt项目,并已将Qt从其安装程序安装到我的计算机上。在Visual Studio中,调试步骤到Qt源很简单:当我在未知文件中输入函数时,它将打开一个文件浏览器,让我找到原始的Qt源代码。

Xcode或LLDB中是否有等效功能?

1 个答案:

答案 0 :(得分:3)

调试信息记录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"

但是替换了#34; main"的一些QT功能。然后查看CompileUnit行,看看"文件"条目说。假设它说

"/BuildDirectory/sources/SomeSubdirectory/SomeFile.cpp"

现在大概你已经下载了QT资源,他们住在你本地机器的某个地方,比如

"/Users/ME/QT/sources"

所以你要做的就是告诉lldb:"当你看到一个源于/ BuildDirectory / sources的源文件时,请查看/ Users / ME / QT / sources。"你可以使用lldb" target.source-map"设置。在这个例子中,你会说:

(lldb) settings set target.source-map /BuildDirectory/sources /Users/ME/QT/sources

您可以在命令行中输入或将其放在.lldbinit文件中以供更常用。 lldb会自动更新其源映射,但如果您在Xcode中运行,则在发出命令后必须执行一次以使其更新。