在Clion的调试会话期间无法进入功能

时间:2016-03-23 09:02:33

标签: c++ debugging gdb clion

我正在尝试将CLion作为新IDE,我在调试时遇到了这个奇怪的问题。我试图进入函数cropImage(而不是方法),但是进入时我可以获得的是获得CRect的构造函数。

int main ( void )
{
    cropImage( "./sample/input_00.raw", "./output_00.raw", CRect(1,2,3,4), ENDIAN_LITTLE);
    return 0;
}

另外,当我尝试将断点放在函数cropImage()中时,它会被忽略。我究竟做错了什么?我认为这是调试器的基本功能,不仅仅是方法......

我在Linux上使用CLion和GDB和g ++。

编辑: 只是为了澄清代码和问题,这是main.cpp文件的外观

bool cropImage ( const char  * srcFileName,
                 const char  * dstFileName,
                 const CRect & rc,
                 int           byteOrder )
{
    // Open streams, create objects, do stuff
}

int main ( void )
{
    cropImage( "./sample/input_00.raw", "./output_00.raw", CRect(1,2,3,4), ENDIAN_LITTLE);
    return 0;
}

所有功能都来自CLI(使用从CLion创建的二进制文件上的gdb),它只是在IDE内部忽略cropImage()函数内的任何断点。

1 个答案:

答案 0 :(得分:0)

所以我发现这个解决方法。参考:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206606815-Integrated-GDB-and-a-frame-not-available-error

似乎是ArchLinux上的问题。即使CLion自动检测到gdb没有问题,框架也不存在,并且手动指定gdb的路径(/usr/bin/gdb)修复此问题。