簡體   English   中英

C ++程序啟動並掛起,沒有錯誤

[英]C++ program starts and hangs without error

習慣了IDE牽着我的手,我被困住了,不知道從哪里開始尋找解決方案。 我什至不知道這種問題叫什么。。。該程序使用Xcode成功運行,但是在Raspberry Pi上編譯並運行時,它可以成功編譯並啟動,但不會產生任何輸出或錯誤。

我試過刪除標題和主要包含內容以外的所有內容:

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;
}

在調試器中運行時,可以檢查這些線程。 查看調用堆棧,找到正在創建的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM