习惯了握着你手的IDE,我陷入困境,不知道从哪里开始寻找解决方案。我甚至都不知道这类问题叫做什么...... 该程序使用Xcode成功运行,但是当编译并在Raspberry Pi上运行时,它会成功编译并启动,但不会产生任何输出或错误。
我尝试删除除header和main之外的所有内容:
std::cout << "Test" << std::endl;
仍然没有输出。 编译使用:
g++-4.7 -I include -I include/interface -I /usr/local/ssl/include -I /home/pi/gateway/mysql-connector-c++-1.1.5 -I /home/pi/gateway/mysql-connector-c++-1.1.5/cppconn -I /home/pi/gateway/mysql-connector-c++-1.1.5/driver -l mysqlcppconn -lwiringPi -lpthread -ldl -L/home/pi/gateway/live -std=c++11 -D PRODUCTION -o Gateway main.cpp src/*.cpp /usr/local/ssl/lib/libcrypto.a /usr/local/ssl/lib/libssl.a;
正在使用3.6mb的内存,但CPU使用率为0%。
编辑: 幸运的是,我找到了问题,一个静态成员对象,其构造函数中包含一个等待回调,其中包含一个标题。问题仍然存在,人们将在哪里开始排除故障?我宁愿下次不要靠运气!一次注释掉一个标题会导致各种错误,因此会删除编译标记。我已经使用上面的标志包含了最少量的代码编译。
#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include <csignal>
#include <cstring>
#include <fstream>
#include "lightdevice.h"
#include "websocketserver.h"
#include "errorlog.h"
#include "debuglog.h"
int main (int argc, char *argv[])
{
std::cout << "Why is this not printing?" << std::endl;
return EXIT_SUCCESS;
}
答案 0 :(得分:0)
在调试器中运行时,可以检查这些线程。查看调用堆栈并找到正在创建的对象。