微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual Studio:在消毒剂异常后继续

如何解决Visual Studio:在消毒剂异常后继续

我认为 AddressSanitizer 是 Visual Studio一个很好的补充,但它会导致问题,让我谈谈我的情况。 例如。我实现了我的自定义 strlen() 函数如下:

size_t my_strlen(const char *my_string) 
{
    int n = 0;
    if (my_string == NULL) return 0;
    while (my_string[n] != 0) n++;
    return n;
}

函数运行良好,直到在启用 AddressSanitizer 的情况下构建程序,这将导致在 Visual Studio Debugger 下运行程序时出现异常,因为该函数尝试读取参数“my_string”的边界外的 1 个字节,到目前为止,太好了,但是我怎么能忽略这个异常并继续正常执行程序???

Visual Studio 当前行为:如果我在异常对话框中单击“继续”:它会再次中断,然后再次异常退出

我想要的是:单击“继续”,Visual Studio 知道我告诉它“我知道这个异常,但我稍后会解决它,现在,忽略它并继续”。我知道,我们可以通过使用 Menu -> Debug -> Windows -> Exceptions Settings 在 VS Debugger 中禁用特定类型的异常处理,但在我的情况下,我只想在遇到它时忽略 1 个异常,而不是针对特定类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。