gpt4 book ai didi

c++ - Qt 和 C++ : app crashes only in debug mode

转载 作者:行者123 更新时间:2023-12-02 22:52:43 25 4
gpt4 key购买 nike

我无法理解某些事情。所以我有一个使用 std::for_each 和 lambda 函数的方法。在此 lambda 函数中,我进行了动态转换。这只是为了一点背景信息。这个dynamic_cast崩溃了。我不是问它为什么崩溃或如何修复它,因为我知道(我对已删除的对象进行了动态转换)。我的问题是为什么这只在 Debug模式(在 Qt 中)下崩溃?

我明白为什么它在调试时崩溃,但我不明白为什么它在发布时不崩溃。几周前我在不同的代码上遇到了类似的问题,但两次崩溃都是段错误。是否因为段错误是一种不可定义的行为,并且这种行为在调试和发布之间是不同的?

谢谢。

最佳答案

我假设您运行的是 Linux。如果是这样,您可以使用 gdb (使用 -g 标志进行编译)。在动态转换处设置断点。然后您可以单步执行以下每个函数。也许这可以让你更好地理解qt中debug和release模式的区别。

这里是有用的gdb commands的很好的概述。 .

关于c++ - Qt 和 C++ : app crashes only in debug mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53210577/

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