簡體   English   中英

如何使用gdb使用核心轉儲調試代碼?

[英]How can i debug the code with core dump using gdb?

這是一個有關字符串操作的簡單程序,但是在運行時遇到了段錯誤(核心轉儲)。

我正在嘗試以最新的ubuntu版本在終端中運行該程序。 這是代碼片段...

#include<stdio.h>

void main()
{
char s1[50],s2[50];
int ch,i,j,l,l1,l2,flag,count1=0,count2=0;
do
{
printf("\n MENU \n");
printf("\n 1.String concatenation \n");
printf("\n 2.String comparison \n");
printf("\n 3.Substring \n");
printf("\n Enter a choice ..."); 
scanf("%d",ch);
switch(ch)
{
 case 1:
 printf("\n Enter the first string \n");
 gets(s1);
 printf("\n Enter the second string \n");
 gets(s2);
 for(int i=0;s1[i]!='\0';i++)

該代碼在顯示菜單部分之前一直有效,但是此后顯示分段錯誤(核心轉儲)。

scanf("%d",ch); --> scanf("%d",&ch);

scanf獲取要存儲值的變量的地址。

人scanf

它指定

d匹配一個可選的帶符號十進制整數; 下一個指針必須是指向int的指針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM