关于我常用的一些调试方式

706天前 · 题解 · 全部文章 · 1016次阅读

打算竞时最常见的就是(食大粪)调试。每个人都有自己的调试方式,至于单步调试速度实在有些慢,所以用的很少,所以我用的还是cout cerr居多,为了防止忘记所以来记录一下。

直接"===========\n"

从杨佬那学来的输出,各种变量分隔也很清晰。

cout<<"=========\n";
cout<<i<<' '<<q[i]<<'\n';

cerr输出

使用 cerr 在vscode中直接输出错误,cph中会将错误流单独输出,十分清晰。

vscode的cph插件显示的十分清晰

debug.h

从某算竞群偷师学来的方法,操作较为麻烦

设置方法

  1. debug 库放到 mingw64 依赖中
    下面是debug.h文件具体内容,原文件都采用的是cout,我改成了cerr。
    文件具体路径实例:
    algo文件夹并不是必须的,可以直接放在外面

    D:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\algo
    D:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\algo\debug.h
    #include<iostream>
    #include<time.h>
    using namespace std;
    void __print(int x) {cerr << x;}
    void __print(long x) {cerr << x;}
    void __print(long long x) {cerr << x;}
    void __print(unsigned x) {cerr << x;}
    void __print(unsigned long x) {cerr << x;}
    void __print(unsigned long long x) {cerr << x;}
    void __print(float x) {cerr << x;}
    void __print(double x) {cerr << x;}
    void __print(long double x) {cerr << x;}
    void __print(char x) {cerr << '\'' << x << '\'';}
    void __print(const char *x) {cerr << '\"' << x << '\"';}
    void __print(const string &x) {cerr << '\"' << x << '\"';}
    void __print(bool x) {cerr << (x ? "true" : "false");}
    //clock_t ttt = clock();
    //void __print(clock_t x) {cerr << int(x) << "ms";}
    template<typename T, typename V>
    void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
    template<typename T>
    void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "}";}
    void _print() {cerr << "]"<<endl;}
    template <typename T, typename... V>
    void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
    #define debug(x...) cerr << #x << " = ["; _print(x)
    template<typename T,typename T1>T amax(T &a,T1 b){if(b>a)a=b;return a;}
    template<typename T,typename T1>T amin(T &a,T1 b){if(b<a)a=b;return a;}
  2. 使用时在自己的模板中添加如下文件头

    #ifdef LOCAL
    #include"algo/debug.h"
    #else
    #define debug(x) 42
    #endif

    这段代码的主要意思就是判断根据是否定义本地环境来设置是否include对应库

  3. 设置CPH
    找到CPH拓展设置,添加 -DLOCAL ,一般会自动保存。
    对应设置

使用效果展示

自动输出到错误流中,在评测机中这个 debug.h 并不会被包含。

效果展示

交题记录

CF1975C

👍 4

none

最后修改于702天前

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡
  • 贴吧泡泡

狗头

  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头
  • 狗头

原神

  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神
  • 原神

小黄脸

  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  • 小黄脸
  1. casino en ligne 31天前

    C'est juste que peu d'opérateurs clarifient suffisamment le
    mécanisme de leurs générateurs.

  2. casino en ligne 31天前

    C'est juste que peu d'opérateurs clarifient suffisamment le
    mécanisme de leurs générateurs.

  3. casino en ligne 31天前

    C'est juste que peu d'opérateurs clarifient suffisamment le
    mécanisme de leurs générateurs.

  4. casino en ligne 31天前

    C'est juste que peu d'opérateurs clarifient suffisamment le
    mécanisme de leurs générateurs.

目录

avatar

coolarec

你好,未曾谋面的陌生人

35

文章数

209

评论数

5

分类

那就出发吧!

117