簡體   English   中英

(C ++ / Visual Studio)無法找到或打開pdb文件且無法打印到控制台

[英](C++/Visual Studio) cannot find or open pdb file & no printing to console

這是我第一次使用C ++和Visual Studio社區(我只使用Java學習過Eclipse類),只是想嘗試使用Visual Studio Community打印到控制台,但遇到了麻煩。

這是我的調試輸出:

'HelloWorld.exe' (Win32): Loaded 'E:\Programming\C++Projects\HelloWorld\Debug\HelloWorld.exe'. Symbols loaded.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp140d.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.
'HelloWorld.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Cannot find or open the PDB file.
The thread 0x10c8 has exited with code 0 (0x0).
The thread 0x1a98 has exited with code 0 (0x0).
The thread 0x1380 has exited with code 0 (0x0).
The program '[1592] HelloWorld.exe' has exited with code 0 (0x0).

這是我的實際代碼:

// HelloWorld.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "sstream"
using namespace std;

int main()
{
    cout << "Hello world.";
    return 0;
}

我檢查了其他人也有相同PDB文件問題的問題,共識似乎只是“不用擔心,這是用於調試”。 很好,但是我仍然不知道為什么我看不到“ Hello world”。 印在任何地方。 我還嘗試過以管理員身份運行Visual Studio,如果這有任何意義。

我使用Avast並嘗試關閉屏蔽,如本帖所述: 我的程序被avast防病毒軟件阻止,我還將整個文件夾'E:\\ Programming \\ *'添加到排除項中。

但是命令提示符仍然只彈出一秒鍾,然后關閉,直到我看到任何東西為止。 據我所知,Avast並未通知它也在阻止任何內容。

控制台打開,然后關閉,因為程序已結束! 它並非旨在無限期地保持打開狀態。

有些人在main的末尾寫一些類似system("cls")類的hack來產生“請按任意鍵繼續”提示,但這確實不合適,因為阻止輸入不是程序語義的一部分。

如上一個“常見問題解答”所述,最好將IDE配置為在程序完成后保持控制台窗口打開。

在main返回0之前,您必須先給出程序說明以等待用戶使用,因為現在,您的程序正按照您告訴它的操作:顯示hello world並返回0並結束程序。 對於Windows,您只需使用system(“ pause”); 或者在這種情況下,您也可以使用getchar();。

另外,看起來您已經創建了Win32 Windows應用程序。 選擇一個空的控制台應用程序可能會更好。

暫無
暫無

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

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