相关疑难解决方法(0)

GDB跳过我的代码!

所以,我已经定义了一个类

DataLoggingSystemStateReceiver
{
DataLoggingSystemStateReceiver()
:   // initializer list
{
    // stuff
}

//  ... other functions here

};
Run Code Online (Sandbox Code Playgroud)

在main中,我实例化DataLoggingSystemStateReceiver,如下所示:

int main()
{
    // ... run stuff
    Sensor sensor(port, timer);

    DataLoggingSystemStateReceiver dlss();

    Log::notice("started");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在gdb中单步执行此代码时,它运行:

Sensor sensor(port, timer);
Run Code Online (Sandbox Code Playgroud)

跳过

DataLoggingSystemStateReceiver dlss();
Run Code Online (Sandbox Code Playgroud)

并继续

Log::notice("started");
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?


编辑: 通过改变

DataLoggingSystemStateReceiver dlss();
Run Code Online (Sandbox Code Playgroud)

DataLoggingSystemStateReceiver dlss;
Run Code Online (Sandbox Code Playgroud)

在main()中,该行执行.有人可以解释原因吗?

c++ gdb

2
推荐指数
1
解决办法
371
查看次数

标签 统计

c++ ×1

gdb ×1