0
点赞
收藏
分享

微信扫一扫

sql server [使用游标] 将表数据打印成sql insert语句

吴wuwu 03-14 08:30 阅读 4

文章目录


在这里插入图片描述

背景知识

  • 程序的发布方式有两种,debug模式和release模式
    Debug是开发者模式,而用户最终使用的是release。Debug模式下程序是可以被调试的,release模式下不可调试。Debug模式下编译器形成可执行程序的时候,会给可执行程序添加调试信息 。

  • Linux gcc/g++出来的二进制程序,默认是release模式

  • 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项

生成Debug模式下的文件:gcc -o process-Dubeg process.c -g

在这里插入图片描述

我们发现Dubge文件体积比release文件体积要大一些,因为Debug文件里面多了调试信息并且我们会发现,Dubge文件和release文件都可以运行

readelf process.exe-Debug -S//查看一个可执行程序对应的二进制文件

readelf process.exe-Debug -S | grep debug//将二进制文件中和debug有关的部分过滤出来

在这里插入图片描述

gdb命令

为了演示gdb命令的使用方法,以下面这个代码为例:

#include<stdio.h>    
    
int AddToTarget(int start,int end)    
{    
  int i=start;    
  int sum=0;    
  for(;i<=end;i++)    
  {    
    sum+=i;    
  }    
  return sum;                                                                                                                               
}    
int main()    
{    
  printf("run begin...\n");    
    
  int res=AddToTarget(1,100);    
  printf("%d\n",res);    
    
  printf("run end...\n");    
    
  return 0;    
}    
~

  • gdb binFile进入gdb环境,其中binFile是一个可执行程序

在这里插入图片描述

  • q或者quit指令可退出

在这里插入图片描述

  • list或者l:现实binFile源代码,接着上次的位置往下列,每次10行。

在这里插入图片描述

  • l num或者list num:num是行号,将源代码的第num行在中间位置显示,每次10行。

在这里插入图片描述

  • l Fun_name或者list Fun_name:Fun_name是函数名,列出某个函数的源代码

在这里插入图片描述

  • 如果有多个文件,你只想查找其中一个文件,可以l 文件名:num/Fun_name或者list 文件名:num/Fun_name

Tip: gdb会默认记录上一步操作,如果想要显示整个文件内容,首先可以从最开始显示l 0,紧接着直接l,每次显示10行,直到结束为止。此时就把所有内容显示出来了。或者l 0之后,连续按Enter键,直到完全显示。

在这里插入图片描述

  • run或者r:运行,类似于VS中的F5

在这里插入图片描述
程序正常执行,这里程序只是运行,无法调试

  • b num或者b Fun_name:打断点,可以在行号num处打断点,可以在名为Fun_name的函数处打断点。另外,断点只能一个一个打。

在这里插入图片描述

  • info b或者i b:查看断点信息

在这里插入图片描述

  • d num:num为断点编号

在这里插入图片描述

在这里插入图片描述

  • disable num:num为断点编号,忽略某个断点,即关闭某个断点

在这里插入图片描述

  • enable num:num为断点编号,启用该断点

在这里插入图片描述

  • nnext:逐过程,单条执行,当有函数调用时,不会进入函数内部。

在这里插入图片描述

  • sstep:逐语句,进入函数调用

在这里插入图片描述

  • p 变量:打印变量的值和地址

在这里插入图片描述
在这里插入图片描述

  • display 变量名:跟踪查看一个变量,每次停下来都显示它的值

在这里插入图片描述

  • undisplay num:取消对先前设置的那些变量的追踪,其中num是先前设置的跟踪变量所对应的编号

  • until x:跳至x行,可以让我们快速的运行代码块

  • finish:执行完当前函数返回,然后停下来等待命令

  • continuec:从当前断点直接运行到下一个断点处

在这里插入图片描述

  • set var:修改变量的值。

  • bt:查看各级函数调用及参数。

在这里插入图片描述

举报

相关推荐

0 条评论