相关疑难解决方法(0)

LLDB相当于gdb"directory"命令用于指定源搜索路径?

寻找ldbb等效的gdb" directory "命令来添加搜索路径以查找缺少的源代码(或者xcode中可能的类似功能)?

提前致谢!

debugging xcode gdb lldb

19
推荐指数
1
解决办法
1万
查看次数

如何从命令行在OSX上的callgrind输出中获取有意义的函数名称?

目标:我希望能够分析callgrind(以及后来的cachegrind)的输出,并希望在使用callgrind_annotate CLI时看到有意义的变量名称.

之前的研究:我知道Valgrind中的dsym标志(http://valgrind.org/docs/manual/manual-core.html)并且相信我已经了解调试符号如何在osx上工作(LLDB没有显示源代码).我在这个网站上看到的这个问题的少数提及要么没有得到答复,要么就是没有包含-g标志的情况.

理论(可能是错误的......):基于valgrind输出中的"dym ="行,我想知道valgrind是否正在努力寻找dsym目录的路径."

我可以给你什么数据?

给出以下源代码:

#include <iostream>
#include <cmath>
bool isPrime(int x)
{
        int limit = std::sqrt(x);
        for (int i = 2; i <= limit; ++i)
        {
                if (x % i == 0)
                {
                        return false;
                }
        }
        return true;
}
int main()
{
        int primeCount = 0;
        for (int i = 0; i < 1000000; ++i)
        {
                if (isPrime(i))
                {
                        ++primeCount;
                }
        }
}
Run Code Online (Sandbox Code Playgroud)

使用了以下命令行指令:

g++ -g -c badprime.cpp
g++ …
Run Code Online (Sandbox Code Playgroud)

c++ macos valgrind callgrind clang++

6
推荐指数
1
解决办法
795
查看次数

在 MacOS 上使用 Bazel 构建时,调试 C++ 代码不起作用

我已经使用 Bazel 构建系统在 Visual Studio Code 中启动了一个 C++ 项目。但是,当使用 Bazel 构建二进制文件时,调试在 IDE 中不起作用。

\n\n

我可以在使用 .build 构建时调试应用程序clang++ -g main.cpp -o sample

\n\n

我的设置:\n操作系统:MacOS,Bazel:release 0.17.2-homebrew,VS Code:1.27.2

\n\n

这是由 Bazel 编译方式造成的。有什么解决方法可以使调试工作吗?

\n\n

这是一个最小的例子。只需在编辑器中放置一个断点,运行调试,然后观察断点未被命中:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .vscode\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 launch.json\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tasks.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 BUILD\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 WORKSPACE\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.cpp\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 sample.code-workspace\n
Run Code Online (Sandbox Code Playgroud)\n\n

.vscode/launch.json

\n\n
{\n    "version": "0.2.0",\n    "configurations": [\n        {\n            "name": "(lldb) Launch",\n            "type": "cppdbg",\n            "request": "launch",\n            "program": "${workspaceRoot}/bazel-bin/sample",\n            "args": [],\n            "stopAtEntry": false,\n            "cwd": "${workspaceFolder}",\n            "externalConsole": false,\n            "MIMode": "lldb",\n            "preLaunchTask": "bazel build",\n        }\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

.vscode/tasks.json

\n\n …

c++ macos bazel visual-studio-code

5
推荐指数
1
解决办法
3099
查看次数

如何将.dSYM文件解码为显式DWARF格式?

DWARF是一种调试信息格式.Xcode生成的.dSYM文件包含DWARF调试信息.

问题是:如何解码.dSYM文件以获取人类可读的DWARF信息,如下所示.

在此输入图像描述

debugging dwarf ios

4
推荐指数
1
解决办法
2281
查看次数

标签 统计

c++ ×2

debugging ×2

macos ×2

bazel ×1

callgrind ×1

clang++ ×1

dwarf ×1

gdb ×1

ios ×1

lldb ×1

valgrind ×1

visual-studio-code ×1

xcode ×1