Home
Problem
Status
Contest
Workbook
User
Group
Forum
Register
Login
{"managingGroups":{},"author":"rvalue","updateTime":1526983288000,"title":"debug_header 文档","dislikeCnt":1,"content":"# debug_header文档\n\n---\n## 安装方式\n编译执行如下链接中的C++代码即可一键安装\n[Click this](https://cn.vjudge.net/solution/14015240/6IfVidR0LxWg4g6V3ByW)\n\n---\n\n## `debug_macro.h`\n`eprintf` : 输出调试信息到标准错误流`stderr`以和`stdout`区分. 用法同`printf`\n`printv(fmt,val)` : 输出`val`的名称以及内容到标准错误流`stderr`, `fmt` 为对应的`printf`格式符. 用法:\n```cpp\nint x\u003d0;\ndouble d\u003d233.666;\nprintv(d,x);\nprintv(f,d);\n```\n`recExe` : 在执行到该语句时输出执行记录到标准错误流`stderr`, 输出信息包括行号/函数名/文件名. 如:\n```cpp\nint main(){\n recExe;\n return 0;\n}\n```\n\n---\n\n## `debug_signal.h`\n用于在程序异常执行时输出对应信息而不是单纯地停止工作. **只需include即可生效.**\n附常见异常:\n`SIGSEGV` : 访问越界\n`SIGFPE` : 除以0\n`SIGINT` : Ctrl+C 终止\n`SIGBREAK` : Ctrl+Break 终止\n`SIGABRT` : 非正常结束, 一般为`assert`失败\n`SIGTERM` : 终止请求\n`SIGILL` : 非法指令\n\n---\n\n## 代码警告\n由于安装后只有本地调试才可使用, 所以为了防止出现直接提交而CE的情况, 头文件中内建了警告信息, 默认情况下会更改控制台背景颜色并输出提示.\n如果要移除警告信息, 请**在include该头文件前**定义标识符`NO_LOCAL_WARNING`. 如:\n```cpp\n#define NO_LOCAL_WARNING\n#include \u003cdebug_signal.h\u003e\n```","threadId":29718,"likeCnt":0,"createTime":1526983256000,"isWorkbook":false,"viewCnt":1728,"openness":1,"fav":false,"id":454,"trustable":false}