gpt4 book ai didi

c++ - 使用 C++ 在 Xcode GDB 中打印不打印正确的值

转载 作者:行者123 更新时间:2023-11-28 03:59:52 25 4
gpt4 key购买 nike

我正在编写/调试一个使用大量 C++ 进行图像处理的 iPhone 项目。我在 Xcode 下使用 gdb 时遇到了麻烦,因为每当我打印值时,它们都完全不符合真实值(比较
cout << "width" << width << endl; 打印出 320,如果我执行 <br/>
print width
在 gdb 中,我得到类似 805300460 的值)

我猜这是 gdb 的问题,而不是程序的问题,因为我认为我没有覆盖内存,打印到 stdout 的值似乎是正确的。语言自动设置为 C++。

看着这个Apple GDB doc似乎添加此编译器标志可能有助于 -gdwarf-2?不确定在哪里这样做。

有人遇到过这个问题吗?有什么想法吗?

最佳答案

快速了解一下,您正在使用哪些优化?如果您正在使用某些值,则该值可能会保存在寄存器中而不是立即写入内存,因此您将获得内存中曾经存在的任何值。在这种情况下,您将通过 iostream 获得正确的答案,因为编译器必须使可观察到的行为与语言所说的相匹配,但 gdb 会在幕后进行观察。

关于c++ - 使用 C++ 在 Xcode GDB 中打印不打印正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1362434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com