代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
// to generate numbers
void gen_data(int b[], int n)
{
int i;
for (i = 0; i < n; i++)
b[i] = rand() % 101;
}
// to display numbers
void disp_data(int b[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d \n", b[i]);
}
// insert at desired posn
void insert(int b[], int n, int elt, int pos)
{
int i;
for (i = n - 1; i >= pos; i--)
b[i + 1] = b[i];
b[pos] = elt;
}
// delete an elt at given position
void delete (int b[], int n, int pos)
{
int i;
for (i = pos + 1; i < n; i++)
b[i - 1] = b[i];
}
// driver code
int main()
{
int a[100], pos, n = 10, let;
int opt;
system("cls");
gen_data(a, n);
while (1)
{
printf("\n 1- Insert 2-Delete 3-Display 4-quit\n");
scanf("%d %d", &pos, &elt);
insert(a, n, elt, pos);
n++;
break;
case 2:
printf("enter position at which elt to be deleted: ");
scanf("%d", &pos);
delete (a, n, pos);
n--;
break;
case 3:
printf("the numbers are : \n");
disp_data(a, n);
break;
}
if (opt == 4)
break;
} // end while
}
记录档:
Active debugger config: GDB/CDB debugger:Default
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: C:\Users\Ranju\Desktop\you\lab pro\
Adding source dir: C:\Users\Ranju\Desktop\you\lab pro\
Adding file: C:\Users\Ranju\Desktop\you\lab pro\bin\Debug\lab pro.exe
Changing directory to: "C:/Users/Ranju/Desktop/you/lab pro/."
Set variable: PATH=.;C:\MinGW\bin;C:\MinGW;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C;C:\Users\Ranju\AppData\Local\Microsoft\WindowsApps;C:\Program Files\CodeBlocks\MinGW\bin
Starting debugger: C:\Program Files\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet -args "C:/Users/Ranju/Desktop/you/lab pro/bin/Debug/lab pro.exe"
done
Setting breakpoints
Debugger name and version: GNU gdb (GDB) 8.1
Starting the debuggee failed: No executable specified, use `target exec'.
Debugger finished with status 0
5条答案
按热度按时间mgdq6dx11#
在我的例子中,从项目路径中删除空格解决了这个问题。也许你应该试着像这样改变路径:“C:/Users/Ranju/Desktop/you/labpro/bin/software/lab pro.exe”
xriantvc2#
我最近在Windows10上开始使用CodeBlocks时遇到了同样的问题(我的情况是C::B版本20.03)。问题是,我在安装CodeBlocks之前很久就安装了MinGW,CodeBlocks从该路径获取
gdb.exe
,而不是从CodeBlocks中安装的MinGW路径获取。我的解决方案是在 * 设置->编辑器中更改默认的可执行文件路径. -> GDB/CDB debugger ->默认 * 为安装CodeBlocks时安装的gdb.exe
。所以:<C::B_installation_path>\MinGW\bin\gdb.exe
。经过这一变化,问题得到了解决。
a9wyjsp73#
我不知道这有什么关系,但我似乎有同样或类似的问题。请参阅以下材料:
How do you debug using 'Code::Blocks 20.03' (the "mingw" version)?
尤其是在句子
I have hopefully made progress towards an answer.
之后。我现在对上述问题加了一个恰当的答案。
我假设你已经安装了
MinGW
,在目录C:\MinGW
中。也许,在你自己的风险,你可以尝试暂时重命名文件夹
C:\MinGW
到别的东西,并尝试运行调试器。当我使用
codeblocks-20.03mingw-setup.exe
(2021年4月8日版本,默认安装接受)安装Code::Blocks 20.03
时,我已经预先安装了MinGW
。我在调试时也遇到了问题。现在有一个修复,这似乎很普遍,适用于即使没有预安装MinGW
,请参阅其他问题的答案(上面提供的链接)。修复涉及更改调试器设置,但在您的情况下,您似乎尝试使用正确的调试器,请参阅您给予的行,如下所示
Starting debugger: C:\Program Files\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet -args "C:/Users/Ranju/Desktop/you/lab pro/bin/Debug/lab pro.exe"
在上面的例子中,你似乎试图使用一个调试器,从目录,
C:\Program Files\Codeblocks\MinGW\bin
,这似乎OK,而不是一个从C:\MinGW\bin
,这是调试器的位置,我试图使用,请参阅其他问题。但是,您可能正在使用
C:\MinGW
目录中的调试器以外的东西。无论您是否在
C:\MinGW
中安装了MinGW
,您都可能需要在Code::Blocks
中更改一些Setting
。zc0qhyus4#
我也有这个问题。我目前在Windows 10上运行Code::Blocks 17.12。在我的例子中,我只是将编译器升级到Mingw64位。修复方法:我更改了位于
c:\users\logonname\appdata\roaming\codeblocks
目录下的default.conf
文件中的一个条目。在复制了原始文件之后,我将与旧调试器gdb32.exe
对应的行更改为新目录中的新文件gdb.exe
。这解决了问题。这是default.conf
旧行,在进行更改之前:<![CDATA[C:\Program Files (x86)\CodeBlocks\MinGW\bin\gdb32.exe]]>
。qv7cva1a5#
我最近遇到了这个bug,当我开始使用代码块来学习C的时候。我做了四个步骤(孤立的,没有一个解决了问题):
1.我检查了调试器和编译器的路径和版本,以确保它们是正确的;
1.确保PC上没有安装其他版本的MinGW(只保留与代码块沿着安装的版本);
1.重命名项目,使没有空格;
1.将项目的目录更改回C:\Program Files(它位于辅助硬盘上)。
对我很有效。