在 Mac OS X 上,如何获得 System/LibC 的调试版本以进行源代码级调试?

发布于 2024-08-10 02:50:34 字数 233 浏览 7 评论 0原文

我从 opensource.apple.com 下载了 LibC 源代码,但由于它是一个整体库 /usr/lib/libSystem.B.dylib 的一部分,我是否必须以某种方式重建整个库?

我有一个从 Linux 移植的 BSD 命令行程序。我希望能够在 LibC 函数中设置断点并单步执行。我正试图接近我的程序中似乎存在堆损坏的情况(这在 Linux 上不会发生 - 我已经移植回 Linux 并在那里运行 memcheck 。)

I downloaded LibC source from opensource.apple.com, but since it's part of one monolithic library /usr/lib/libSystem.B.dylib would I have to somehow rebuild the entire thing?

I have a BSD command line program, ported from Linux. I want to be able to set breakpoints in LibC functions and step through. I'm trying to close in on what seems to be heap corruption in my program (which doesn't occur on Linux - I've already ported back to Linux and run memcheck there.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离线来电— 2024-08-17 02:50:35

您是否查看过 Apple 的内核调试工具包 (http://developer.apple.com/sdk/ ) ?我知道它包含内核符号,但我不确定 libc 是否是 SDK 的一部分。

Have you take a look at the Kernel Debug Kit from Apple (http://developer.apple.com/sdk/) ? I know that it contains kernel symbols, but I am not sure if libc is part of the SDK.

最笨的告白 2024-08-17 02:50:35

您可以自己构建 Valgrind - 要么使用 10.5 上发布的最后一个版本,要么查看错误跟踪器中的 Snow Leopard 支持错误,该错误有一个补丁。

或者,尝试 malloc(3) 手册

You can build Valgrind yourself - either use the last version released on 10.5, or look on the bug tracker for the Snow Leopard support bug, which has a patch.

Alternately, try the memory debugging tools in the malloc(3) manual.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文