gpt4 book ai didi

c++ - Visual Studio 调试器做什么,条件应该给出错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:33 24 4
gpt4 key购买 nike

我正在调试一些代码,每次当字符串中的字符 (const char *) 等于某个值时,我都需要中断。

所以我在那里放置断点并附加条件,如:s[0] == 'e'。但是我正在调试的代码在 CRT 中并且有可能 s == 0 是真的。所以“寻址空指针”应该会给出某种错误。是的 - 我可以给那里条件 s != 0,但它不会那么有趣 :)

我很好奇,调试器在尝试评估这种情况时会做什么?它将如何在内部表现?显然,当 s == 0

时,它不会给出任何错误,也不会在此断点处停止

感谢您的回答。

最佳答案

从未尝试过,但我认为它会停止执行。我的假设是基于此:

如果您使用无效语法设置断点条件,则会立即出现一条警告消息。如果您指定具有有效语法但无效语义的断点条件,则在第一次命中断点时会出现一条警告消息。在任何一种情况下,调试器都会在遇到无效断点时中断执行。仅当条件有效且计算结果为 false 时才会跳过断点。

Source .

关于c++ - Visual Studio 调试器做什么,条件应该给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11012375/

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