c++ - Xcode 断点仅在调试期间设置时命中

标签 c++ xcode breakpoints

我正在将 C++ SDK 从 Windows 移植到 Mac OSX 10.5。我在 Xcode 中遇到问题,我在某些文件中的断点只有在调试时设置它们时才会命中。如果我停止调试然后重新启动,断点将不再命中。如果我在不调试的情况下添加它们,它们就不会受到影响。这仅在某些文件中,我的断点总是深蓝色。即,我无法区分会被击中的断点和不会被击中的断点。

具体来说,我的sdk是由各种动态库组成的。这些是使用 Perforce jam 构建的,它根据我的操作系统和编译器版本(例如 Visual Studio 的 cl.exe 和 link.exe)调用各种编译和链接可执行文件。我有一个简单的(单元测试)命令行应用程序,它链接到这些动态库并调用其中的代码。 Windows 上的这个应用程序是一个 Visual Studio 项目,我在其中对库代码设置了断点并期望它们被命中。

我在 Xcode 3.1.2 中创建了相同的 C++ 命令行实用程序,它链接到 sdk 动态库并调用其中的代码。一些断点工作正常。我可以在从有问题的代码调用的代码中设置断点,然后单步跳出有问题的代码,然后我可以顺利地单步执行。麻烦的代码被编译到与正常运行的代码相同的 dylib 中。它又长又复杂,不适合内联。

我试过以下方法:

  • 懒惰地关闭加载符号。
  • 用 gcc 4.0 和 gcc 4.2 编译。
  • 进行全面清理和关机。
  • 删除 xcodeproj 包的用户特定文件。
  • 重命名文件,以免与系统文件冲突。
  • 清除断点窗口中的所有内容。
  • 创建一个新的 Xcode 项目。

我的应用程序是使用 DWARF 格式调试编译的,我的库是使用 –g 标志(以及 –v、–arch i386 和 –fvisibility-inlines-hidden)构建的。

帮助将不胜感激。谢谢。

更新:很抱歉没有更新这个,我的 Mac 端口项目被推迟了。我从来没有解决过这个问题,但发现它实际上只发生在构造函数体中。当我再次遇到问题时,我会重新审视它。

最佳答案

你试过这些吗? Why aren't my breakpoints working?

关于c++ - Xcode 断点仅在调试期间设置时命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/730851/

相关文章:

c++ - 如果我想制作吃 bean 人游戏?

xcode - 使用 Carthage 构建时如何选择 Swift 工具链

android - 我们是否有任何机制来跟踪应用程序是否是从给定 URL 安装的?

ios - Xcode 异常断点总是在属性上暂停

android - 带有 Google Glass 库/管理器问题的 OpenCV

c++ - 在 C++ 中映射初始化以实现尝试

c++ - 我可以用 X64 为 ARM 构建 gcc 吗?

ios - xCode 6 调整输入大小移动ViewController

c++ - 未命中内联函数中的断点

c++ - 在不直接修改地址的情况下执行地址时引发异常