启动调试器失败:未指定可执行文件,请使用“target exec”

问题描述 投票:0回答:5

代码:

#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
c debugging gdb codeblocks
5个回答
3
投票

就我而言,从项目路径中删除空格解决了问题。也许你应该尝试像这样改变路径: “C:/Users/Ranju/Desktop/you/labpro/bin/Debug/lab pro.exe”


1
投票

我最近在 Windows10 上开始使用 CodeBlocks 时遇到了同样的问题(在我的例子中是 C::B 版本 20.03)。问题是,我在安装 CodeBlocks 之前就已经安装了 MinGW,并且 CodeBlocks 从该路径中获取了

gdb.exe
,而不是从 CodeBlocks 中安装的 MinGW 路径中获取它。 我的解决方案是将 Settings -> Debugger... -> GDB/CDB debugger -> Default 中的默认可执行路径更改为我安装 CodeBlocks 时安装的
gdb.exe
。所以:
<C::B_installation_path>\MinGW\bin\gdb.exe

修改后问题就解决了。


0
投票

我不知道这有多相关,但我似乎有相同或相似的问题。请参阅

的材料

如何使用“Code::Blocks 20.03”(“mingw”版本)进行调试?

尤其是这句话之后,

I have hopefully made progress towards an answer.


我现在已经为上述问题添加了正确的答案..


我假设你已经安装了

MinGW
,在目录
C:\MinGW
中。

也许,您自己承担风险,您可以尝试暂时将文件夹

C:\MinGW
重命名为其他名称,然后尝试运行调试器。

当我使用

MinGW
安装
Code::Blocks 20.03
时,我预装了
codeblocks-20.03mingw-setup.exe
(2021年4月8日版本,接受默认安装)。我在调试时也遇到了问题。现在有一个修复程序,这似乎很普遍,即使没有预安装也适用
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
中的调试器,这似乎没问题,而不是来自
C:\MinGW\bin
中的调试器,这是我尝试使用的调试器所在的位置,请参阅另一个问题。

但是,您可能正在使用目录

C:\MinGW
中的调试器以外的其他东西。


无论您是否在

MinGW
中安装了
C:\MinGW
,您都可能需要更改
Setting
中的一些
Code::Blocks


0
投票

我也遇到这个问题了。我目前在 Windows 10 上运行 Code::Blocks 17.12。就我而言,我只是将编译器升级到 Mingw64 位。修复方法:我更改了位于

default.conf
c:\users\logonname\appdata\roaming\codeblocks
文件中的条目 目录。复制原始文件后,我将与旧调试器
gdb32.exe
对应的行更改为新目录中的新文件
gdb.exe
。这解决了问题。这是
default.conf
旧行,在进行更改之前:
<![CDATA[C:\Program Files (x86)\CodeBlocks\MinGW\bin\gdb32.exe]]>


0
投票

我最近遇到了这个bug,当我开始使用codeblocks学习C时。我做了四个步骤(孤立的,没有一个解决问题):

1-我检查了调试器和编译器的路径和版本,以确保它们是正确的;

2- 确保 PC 上没有安装其他版本的 MinGW(仅保留与代码块一起安装的版本);

3- 重命名该项目,使其中没有空格;

4- 将项目目录更改回 C:\Program Files(位于辅助硬盘上)。

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.