Code :: Blocks无法使用断点进行调试

时间:2016-05-02 09:24:41

标签: c++ debugging codeblocks

调试器在我的断点处正常停止,但是当我按下工具栏上的“下一步”按钮时,调试光标显示,而Code :: Blocks似乎失去了与gdb的连接(例如,无法停止调试) 。当我手动终止gdb进程时,IDE的Watches窗口会显示每个变量的消息:

<error reading variable ... (Cannot access memory at address ...)>

我在Ubuntu 16.04上使用GCC 5.3.1获得了Code :: Blocks 16.01。 我的第一个想法是gdb缺少调试数据/优化,但是我有-g3 -ggdb个标志并且没有启用优化。

我很久以前就使用过C :: B,问题可能很少或很新(由于其中一个更新)。此外,还可以正确调试其他一些功能。

UPD。令人惊讶的是,我发现在函数开头只能调试一些行是不可能的:

bool Entangle::ProcessFile(size_t task_index)
{
    //Preparing name for temp file
    wxString name = u.tasks[task_index], error_text;
    wxFileName fname(name);
    wxString temp_path = RNG::TempName(fname.GetPathWithSep());
    ErrorTracker::SetFile(name);

    ullong fsize=0;

    //Creating the Entangle header
    Header head(fsize);

    /** Opening files **/
    //Opening original file
    BinFile In(name, ios_base::in);

以下代码可以正常调试。

0 个答案:

没有答案