vscode c++调试,printf未定义

本文档详细记录了在Visual Studio中配置和调试Minisat的步骤,包括修改配置文件如c_cpp_properties.json、launch.json、tasks.json和settings.json,以及解决中文路径和小括号问题。在easysat.cpp中添加头文件,并介绍了调试过程中的注意事项,如F5进行单步调试和断点设置。
摘要由CSDN通过智能技术生成

目录

目前困惑:

教训:

如何让minisat运行成功的:

四个配置文件:

easysat.cpp加两行

 调试步骤:


今天又是悲伤的一天,看easysat源码一天后,发现关键核心的算法部分一脸懵,无从下手。。。。。于是试图整一个调试,单步运行康康。clion还要cmake搞半天没搞懂,先用vs凑合一下吧/(ㄒoㄒ)/~~

目前困惑:

cmakelist,makefile,终端,调试控制台,输出,为啥需要自己加#include,以及clion里边又该咋搞。还有run code为啥报错但是运行就没问题?😵

教训:

一定要小心不要加中文路径,还有不要有小括号。

搜不太懂得资料的时候,不妨先学习一下这个要搜得东西,,,虽然貌似好像也用处不大/(ㄒoㄒ)/~~

加油!!

(118条消息) 一文搞懂vscode的几项基本配置(超详细讲解)_Emily-C的博客-CSDN博客_vscode基本配置

(118条消息) 【使用教程】VSCode创建json文件_剑宇2022的博客-CSDN博客_vscode json

还是没看太通透,可能要自己多试试,一会儿试试

如何让minisat运行成功的:

四个配置文件:

所有与绝对路径相关得都要改成自己得,mingw如果下载了dev c++,在dev里边可以找到

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\x86_64-w64-mingw32\\include"
//如果没有配置settings上一行必须加,否则报错找不到stdint.h等等头文件
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
            "cStandard": "c89",
            "cppStandard": "c++14",
            "intelliSenseMode": "windows-gcc-x64",
            "configurationProvider": "ms-vscode.makefile-tools"
        }
    ],
    "version": 4
}

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",
            "type": "cppdbg",
            "request": "launch",
            "targetArchitecture": "x86",
            "program": "${workspaceRoot}\\${fileBasename}.exe",
            "miDebuggerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gdb.exe",//mingw路径
            "args": ["C:\\Users\\woaixiaomaomi\\Desktop\\ccnf.cnf"],//main函数的参数
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "externalConsole": true,
            "preLaunchTask": "g++"
        },
        {
            "name": "C/C++: g++.exe 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gdb.exe",//mingw路径
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask":"C/C++: g++.exe 生成活动文件"//,"test"
        }
    ]
}

tasks.json

{
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g",
        "-std=c++11",
        "${file}",
        "-o",
        "${workspaceRoot}\\${fileBasename}.exe"
    ],
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": [
            "relative",
            "${workspaceRoot}"
        ],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\g++.exe",//mingw路径
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

settings.json

{

    "files.associations": {
   
    "*.tcc": "cpp",
   
    "array": "cpp",
   
    "atomic": "cpp",
   
    "cctype": "cpp",
   
    "clocale": "cpp",
   
    "cmath": "cpp",
   
    "cstdarg": "cpp",
   
    "cstddef": "cpp",
   
    "cstdint": "cpp",
   
    "cstdio": "cpp",
   
    "cstdlib": "cpp",
   
    "cwchar": "cpp",
   
    "cwctype": "cpp",
   
    "deque": "cpp",
   
    "unordered_map": "cpp",
   
    "vector": "cpp",
   
    "exception": "cpp",
   
    "algorithm": "cpp",
   
    "functional": "cpp",
   
    "iterator": "cpp",
   
    "memory": "cpp",
   
    "memory_resource": "cpp",
   
    "numeric": "cpp",
   
    "optional": "cpp",
   
    "random": "cpp",
   
    "string": "cpp",
   
    "string_view": "cpp",
   
    "system_error": "cpp",
   
    "tuple": "cpp",
   
    "type_traits": "cpp",
   
    "utility": "cpp",
   
    "fstream": "cpp",
   
    "initializer_list": "cpp",
   
    "iosfwd": "cpp",
   
    "iostream": "cpp",
   
    "istream": "cpp",
   
    "limits": "cpp",
   
    "new": "cpp",
   
    "ostream": "cpp",
   
    "sstream": "cpp",
   
    "stdexcept": "cpp",
   
    "streambuf": "cpp",
   
    "typeinfo": "cpp"
   
    }
   
   }

easysat.cpp加两行

#include <stdint.h>

#include <stdlib.h>

 调试步骤:

f5单步调试

断点得选择在行号前

每次调试过程中只有退出才可以进行下次调试或运行,不然会报错

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值