zoukankan      html  css  js  c++  java
  • 读书笔记——Windows核心编程(2)禁止C运行时触发的所有Debug Assertion Failed对话框

    1 定义一个函数

    void _invalid_parameter(
       const wchar_t * expression,
       const wchar_t * function, 
       const wchar_t * file, 
       int line,
       uintptr_t pReserved
    );

    2 注册这个函数

    _invalid_parameter_handler _set_invalid_parameter_handler(_invalid_parameter_handler pNew);

    3 在程序开头的地方调用

    _CrtSetReportMode(_CRT_ASSERT, 0);

    一个简单的例子

    #include <stdio.h>
    #include <stdlib.h>
    #include <crtdbg.h>
    
    void InvalidParameterHandler(const wchar_t* expression,const wchar_t* function, const wchar_t* file, unsigned int line, uintptr_t pReserved)
    {
       wprintf(L"Invalid parameter detected in function %s."
                L" File: %s Line: %d
    ", function, file, line);
       wprintf(L"Expression: %s
    ", expression);
    }
    
    
    int main( )
    {
       _invalid_parameter_handler oldHandler;
       oldHandler = _set_invalid_parameter_handler(InvalidParameterHandler);
    
       _CrtSetReportMode(_CRT_ASSERT, 0);
    
       //一个C的库函数的错误调用
       ...
     }
    
  • 相关阅读:
    各种快递查询Api接口(快递鸟)
    验证码识别,发票编号识别
    ugui自制摇杆。
    个人网站
    unity访问php
    其实我是学文学的
    unity发布ios游戏总结
    Unity连接本地数据库sqlite
    gcc中gdb调试工具的使用
    windows系统下调试uCOS-II
  • 原文地址:https://www.cnblogs.com/wlsandwho/p/4202165.html
Copyright © 2011-2022 走看看