Visual studio调试和在linux gdb调试的尝试

Visual studio调试: 定位代码    缩小调试范围    打断点     不断继续run    查看需要变量值与自己预期结果  判断哪里问题

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

const char* str[] = { "Hello","abc","applef","man","C程序设计","指针数组","1","2","3" };
const char* pdest = "指针数组";

int main()
{
    int i;
    int ret = -1;
    const char * * p = str;
    for (i = 0; i < sizeof(str) / sizeof(char*); i++)
    {

#if 0
        if (strcmp(*p++, pdest) == 0)
        {
            printf("we are found dest\n");
            break;
        }
#endif 

        p = p + i;  // 这样是错误的   p的变化太大 指针越界

    }
    printf("\n");
    printf("i = %d\n", sizeof(str) / sizeof(char*));

    while (1);

    return 0;
}

查看变量的值是:     添加监视  就知道变量的值什么回事

原文地址:https://www.cnblogs.com/nowroot/p/12642838.html

时间: 2024-10-07 02:45:30

Visual studio调试和在linux gdb调试的尝试的相关文章

Linux GDB调试全面解析

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式. 当程序被停住时,可以检查此时程序中所发生的事,并追索上文. 动态地改变程序的执行环境. 不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须.而且,调试内核和调试应用程序时使用的gdb命令是完全相同的,下面以代码清单22.2的应用程

Visual Studio原生开发的10个调试技巧(一)

最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | Break on Exception Watch窗口中的伪变量 |

使用Visual Studio Code开发(编译、调试)C++程序

总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了. 配置Path变量,加入mingw的安装路径,如d:/mingw64/bin/ 安装并配置Code Runner插件,一键编译运行. 打开扩展(文件-首选项-扩展,或者ctrl+shift+x),搜索Code Runner. 为了在控制台输入,需要配置:"文件-首选项-设置-用户设置-扩展-Run

Visual Studio 2015开发Android App启动调试始终无法完成应用部署的解决方案

创建一个Android App项目后,直接启动调试发现Visual Studio Emulator for Android已成功运行,但应用始终处于Build中(等待时间超过1小时),并未如预期通过adb部署到模拟器中.将应用直接导出apk,拖拽至模拟器直接部署,提示: File transfer failed. Error: Unable to install the file through Adb. Adb.exe not found. Make sure you have Android

Visual Studio Code 支持 iOS Web 应用调试

微软JavaScript Diagnostics项目经理Kenneth Auchenberg在一篇文章中写道,有一个新的Visual Studio Code扩展,允许开发人员直接在他们的Mac和Windows编辑器上调试在iOS设备上运行的JavaScript Web应用和网站. Auchenberg解释说,以前,调试iOS Web应用需要在Mac上运行Safari Web查看器,或者使用一个专用的跨浏览器兼容性检查器,如BrowserStack.新的Visual Studio Code扩展“i

Linux gdb调试器用法全面解析

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式. 当程序被停住时,可以检查此时程序中所发生的事,并追索上文. 动态地改变程序的执行环境. 不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须.而且,调试内核和调试应用程序时使用的gdb命令是完全相同的,下面以代码清单22.2的应用程

Linux gdb调试入门

没有使用过gdb调试过程序的觉得gdb是个很神奇的东东,如果你使用它调试一次保证你想忘记它都难,下面看看它的庐山真面目吧! GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定

News: Visual Studio Code support debugging Linux Apps

http://arstechnica.com/information-technology/2015/11/visual-studio-now-supports-debugging-linux-apps-code-editor-now-open-source/ ------------------------ Developers can now debug apps running on Linux servers or IoT devices from the comfort of Visu

Visual Studio 2015支持为Linux构建应用

点这里 微软著名的集成开发环境有可能是首次在其产品页提及了竞争对手Linux.Visual Studio 2015的页面声称,“Build for iOS, Android, Windows devices, Windows Server or Linux”,也就是说微软的IDE能生成Linux二进制程序.这并不令人感到太意外,因为过去的一年微软已经向Linux和开源社区伸出了橄榄枝,正逐步开源它的.NET框架和加入跨平台支持.未来有一天微软可能会将它的闭源Visual Studio带到Linu