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

Posted 啊 我们的征途是星辰大海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的变化太大 指针越界   应该是p++ 



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

    while (1);

    return 0;
}
// 上面这个 我开始没有想明白 后来采用gdb 查看变量的值 我才找到原因 是p++



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

                                                                                    GDB调试

参考文章:

https://blog.csdn.net/niyaozuozuihao/article/details/91802994

-S 编译-s 

gdb xxx 

b xx(行)   b xxx(行)             在某个区间打断点

r(run)

s 单步调试

多次重复操作 按Enter键  

 

以上是关于Visual studio调试和在linux gdb调试的尝试的主要内容,如果未能解决你的问题,请参考以下文章

程序 .exe 在 cygwin 上运行,但在调试和在 Visual Studio 上运行时出现异常

12个Visual Studio调试效率技巧

12个Visual Studio调试效率技巧

12个Visual Studio调试效率技巧

12个Visual Studio调试效率技巧

从 Visual Studio 进行 Linux .NET 远程调试