C windows syswow64 ntdll dll невозможно найти или открыть файл pdb

Решил попробовать себя в c++, но первая проблема не дает мне покоя

#include <iostream>

using namespace std;

int main() {
    cout << "hello" << endl;
    return 0;

}

ошибка

"Project2.exe" (Win32). Загружено "C:\Users\kolya\source\repos\Project2\Debug\Project2.exe". Символы загружены.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\apphelp.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcp140d.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\vcruntime140d.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ucrtbased.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel.appcore.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcrt.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\rpcrt4.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\sspicli.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\cryptbase.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\bcryptprimitives.dll". Невозможно найти или открыть PDB-файл.
"Project2.exe" (Win32). Загружено "C:\Windows\SysWOW64\sechost.dll". Невозможно найти или открыть PDB-файл.
Поток 0x4954 завершился с кодом 0 (0x0).
Поток 0x1fa4 завершился с кодом 0 (0x0).
Поток 0x50e0 завершился с кодом 0 (0x0).
Программа "[2584] Project2.exe" завершилась с кодом 0 (0x0).

задан 1 сен 2018 в 20:19

JustTerrora's user avatar

1

Ничего страшного. Студия просто не нашла pdb файлы, но Вам врядли нужно отлаживать внутренние библиотеки.

А что бы окно консоли не закрывалось быстро, просто запускайте через Ctrl+F5.

Либо пойдите по «известному в интернете пути» и просто добавьте в самый конец system("pause");.

И ещё способ — поставить точку останова на return 0; — в больших проектах конечно долго, но в студенческих поделках — самое оно.

И мой любимый — открыть консоль отдельно и запускать в ней самостоятельно. Но это на любителя.

ответ дан 1 сен 2018 в 20:23

KoVadim's user avatar

KoVadimKoVadim

112k6 золотых знаков93 серебряных знака159 бронзовых знаков

6

I am trying to use OpenCV in VS 2010. I am an amateur, and I am learning first steps from the OpenCV wiki. However, when trying to debug my project, I get the following errors:

‘C:\Windows\SysWOW64\ntdll.dll’, Cannot find or open the PDB file
‘C:\Windows\SysWOW64\kernel32.dll’, Cannot find or open the PDB file
‘C:\Windows\SysWOW64\kernellbase.dll’, Cannot find or open the PDB file

I have those files in the right directory, so why can’t it open them? What should I do to fix the problem?

Cody Gray - on strike's user avatar

asked Jan 27, 2011 at 8:03

HamidRezaHamidiEsfahani's user avatar

6

First change the following parameters:

Tools -> Options -> Debugging -> Symbols -> Server -> Yes

Then press Ctrl+F5 and you will see amazing things.

01F0's user avatar

01F0

1,2282 gold badges19 silver badges32 bronze badges

answered Nov 15, 2011 at 15:12

seanlitow's user avatar

9

I’m pretty sure those are warnings, not errors. Your project should still run just fine.

However, since you should always try to fix compiler warnings, let’s see what we can discover. I’m not at all familiar with OpenCV, and you don’t link to the wiki tutorial that you’re following. But it looks to me like the problem is that you’re running a 64-bit version of Windows (as evidenced by the «SysWOW64» folder in the path to the DLL files), but the OpenCV stuff that you’re trying is built for a 32-bit platform. So you might need to rebuild the project using CMake, as explained here.

More specifically, the files that are listed are Windows system files. PDB files contain debugging information that Visual Studio uses to allow you to step into and debug compiled code. You don’t actually need the PDB files for system libraries to be able to debug your own code. But if you want, you can download the symbols for the system libraries as well. Go to the «Debug» menu, click on «Options and Settings», and scroll down the listbox on the right until you see «Enable source server support». Make sure that option is checked.
Then, in the treeview to the left, click on «Symbols», and make sure that the «Microsoft Symbol Servers» option is selected. Click OK to dismiss the dialog, and then try rebuilding.

Stuart Blackler's user avatar

answered Jan 27, 2011 at 8:33

Cody Gray - on strike's user avatar

2

Visual Studio Community Edition 2015

Been having this error all day. I finally fixed it by going to Tools>Import and Export Settings> Reset all options > Reset General Settings.

Once it’s reset go to Tools>Options>Debugging>Symbols> — Then Check the box next to Microsoft Symbol Servers.

Run your app in debug mode, and it will open up windows saying it’s downloading Symbols for a bunch of different .dll files. Let it finish doing this.

Once it completes, it should work again.

answered Apr 2, 2016 at 17:33

Nobody's user avatar

NobodyNobody

3412 silver badges6 bronze badges

1

I had the same problem. It turns out that, compiling a project I got from someone else, I haven’t set the correct StartUp project (right click on the desired startup project in the solution explorer and pick «set as StartUp Project»). Maybe this will help, cheers.

answered Feb 21, 2013 at 12:51

Jurek Stefanowicz's user avatar

Referring to the first thread / another possibility VS cant open or find pdb file of the process is when you have your executable running in the background.
I was working with mpiexec and ran into this issue. Always check your task manager and kill any exec process that your gonna build in your project. Once I did that, it debugged or built fine.

Also, if you try to continue with the warning , the breakpoints would not be hit and it would not have the current executable

answered Jul 12, 2012 at 22:49

Mpi's user avatar

For VS2013 users who find themselves here as I did:

Tools -> Options -> Debugging -> Symbols

You’ll see that the Cache symbols in this directory: field is empty; you can either browse/enter the path yourself or just go ahead and click the Load all symbols button. An alert window will appear saying «Since you haven’t selected a symbol-cache directory the default will be used». You’ll now see C:\Users\XXXX\AppData\Local\Temp\SymbolCache in the previously empty path-field. Click Load all symbols a second time and you should be set. Hit ok, and just for the sake of diligence, clean and rebuild your solution.

answered Jun 1, 2015 at 17:05

ahall's user avatar

ahallahall

1292 silver badges7 bronze badges

I’ve found that these errors sometimes are from lack of permissions when compiling a project — so I run as administrator to get it to work properly.

answered Mar 31, 2012 at 15:27

SinisterRainbow's user avatar

I’m having the same warnings. I’m not sure it’s a matter of 32 vs 64 bits. Just loaded the new symbols and some problems were solved, but the ones regarding OpenCV still persist. This is an extract of the output with solved vs unsolved issue:

‘OpenCV_helloworld.exe’: Loaded
‘C:\OpenCV2.2\bin\opencv_imgproc220d.dll’, Cannot find or open the PDB
file

‘OpenCV_helloworld.exe’: Loaded ‘C:\WINDOWS\system32\imm32.dll’,
Symbols loaded (source information stripped).

The code is exiting 0 in case someone will ask.

The program ‘[4424] OpenCV_helloworld.exe: Native’ has exited with
code 0 (0x0).

answered Jun 25, 2012 at 9:32

sparaflAsh's user avatar

sparaflAshsparaflAsh

6461 gold badge9 silver badges26 bronze badges

I had the same problem. Debugging does not work with the stuff that comes with the OpenCV executable. you have to build your own binarys.
Then enable Microsoft Symbol Servers in Debug->options and settings->debug->symbols

answered Dec 25, 2012 at 15:58

john k's user avatar

john kjohn k

6,3074 gold badges55 silver badges59 bronze badges

I ran into the same issue. When I ran my Unit Test on C++ code, I got an error that said «Cannot find or open the PDB file».

Logs

When I looked at the Output log in Visual Studio, I saw that it was looking in the wrong folder. I had renamed the WinUnit folder, but something in the WinUnit code was looking for the PDB file using the old folder name. I guess they hard-coded it.

Found the Problem

When I first downloaded and unzipped the WinUnit files, the main folder was called «WinUnit-1.2.0909.1». After I unzipped the file, I renamed the folder to «WinUnit» since it’s easier to type during Visual Studio project setup. But apparently this broke the ability to find the PDB file, even though I setup everything according to the WinUnit documentation.

My Fix

I changed the folder name back to the original, and it works.

Weird.

answered May 15, 2013 at 5:55

user2384458's user avatar

Had the same problem here but a different solution worked.

First, I tried the following, none of which worked:

  1. Load symbols as suggested by seanlitow

  2. Remove/Add reference to PresentationFramework and PresentationCore

  3. Restart system

The solution was to undo the last few changes I had made to my code. I had just added a couple radio buttons and event handlers for checked and unchecked events. After removing my recent changes everything compiled. I then added my exact changes back and everything compiled properly. I don’t understand why this worked — only thing I can think of is a problem with my VS Solution. Anyway, if none of the other suggestions work, you might try reverting back your most recent changes. NOTE: if you close & re-open Visual Studio your undo history is lost.. so you might try this before you close VS.

answered Aug 28, 2018 at 16:10

Thomas Bailey's user avatar

In this guide, we will walk you through the process of fixing the issue with the error message «Loaded ‘c:\windows\syswow64\ntdll.dll’ – Cannot Find or Open the PDB File.» This error occurs when you try to debug an application in Visual Studio, and the PDB (Program Database) file for ntdll.dll is missing or not found.

The PDB file contains debugging information required by Visual Studio to debug your application. When the PDB file is missing or not found, it becomes difficult for the debugger to perform its tasks efficiently.

Table of Contents

  • Prerequisites
  • Step 1: Update Visual Studio
  • Step 2: Configure the Debugging Symbols
  • Step 3: Verify the Symbol File Path
  • Step 4: Restart Visual Studio
  • FAQs

Prerequisites

Before we start, ensure that you have the following:

  1. Windows Operating System
  2. Visual Studio installed

Step 1: Update Visual Studio

Microsoft regularly releases updates for Visual Studio. These updates often include bug fixes and improvements that can resolve issues like the one we are addressing in this guide. To update Visual Studio, follow these steps:

  1. Open Visual Studio.
  2. Click on «Help» in the toolbar.
  3. Select «Check for Updates.»
  4. If there are any available updates, follow the prompts to install them.

Source

Step 2: Configure the Debugging Symbols

To fix the «Loaded ‘c:\windows\syswow64\ntdll.dll’ – Cannot Find or Open the PDB File» issue, you need to configure the debugging symbols in Visual Studio. Follow these steps:

  1. Open Visual Studio.
  2. Click on «Tools» in the toolbar.
  3. Select «Options.»
  4. In the Options window, navigate to «Debugging» > «Symbols.»
  5. Check the box «Microsoft Symbol Servers» under «Symbol file (.pdb) locations.»
  6. Click «OK» to save the changes.

Step 3: Verify the Symbol File Path

After configuring the debugging symbols in Visual Studio, you should verify that the symbol file path is correct. Follow these steps:

  1. Open Visual Studio.
  2. Click on «Tools» in the toolbar.
  3. Select «Options.»
  4. In the Options window, navigate to «Debugging» > «Symbols.»
  5. Verify that the «Cache symbols in this directory» field has a valid path. If it is empty or contains an invalid path, set it to a valid directory, e.g., «C:\Symbols.»
  6. Click «OK» to save the changes.

Step 4: Restart Visual Studio

After completing the previous steps, restart Visual Studio to apply the changes. The issue with the error message «Loaded ‘c:\windows\syswow64\ntdll.dll’ – Cannot Find or Open the PDB File» should now be resolved.

FAQs

1. What is a PDB file?

A PDB (Program Database) file is a file generated by the compiler during the compilation of a program. It contains debugging information, such as function names, variables, and line numbers, which helps Visual Studio’s debugger to analyze and debug the application.

2. Why is the PDB file needed for debugging?

The PDB file contains essential information that the debugger uses to map the running application’s memory and code back to the original source code. Without the PDB file, it becomes difficult for the debugger to perform its tasks efficiently.

3. How do I generate PDB files for my application?

To generate PDB files for your application, you should enable the generation of debug information in your project settings. In Visual Studio, you can do this by navigating to «Project Properties» > «Build» > «Advanced» and setting «Debug Info» to «Full» or «Pdb-only.»

4. Can I debug an application without a PDB file?

Yes, you can debug an application without a PDB file, but the debugging experience will be limited. You will not have access to essential debugging information, such as function names, variables, and line numbers, making it difficult to analyze and troubleshoot the application.

Yes, you can share your PDB files with other developers to enable them to debug your application. However, you should be cautious when sharing PDB files, as they may contain sensitive information about your application’s source code and structure.

Related: How to Debug an Application in Visual Studio

Related: How to Set Up Remote Debugging in Visual Studio

Я пытаюсь использовать OpenCV в VS 2010. Я — любитель, и я изучаю первые шаги из OpenCV wiki. Однако при попытке отладки моего проекта я получаю следующие ошибки:

«C:\Windows\SysWOW64\ntdll.dll», не удается найти или открыть файл PDB «C:\Windows\SysWOW64\kernel32.dll», не удается найти или открыть файл PDB «C:\Windows\SysWOW64\kernellbase».dll’, не могу найти или открыть файл PDB

У меня есть эти файлы в правильном каталоге, так почему он не может открыть их? Что я должен сделать, чтобы решить проблему?

2011-01-27 08:03

11
ответов

Сначала измените следующие параметры:

Сервис -> Параметры -> Отладка -> Символы -> Сервер -> Да

Затем нажмите Ctrl+F5, и вы увидите удивительные вещи.

2011-11-15 15:12

Я уверен, что это предупреждения, а не ошибки. Ваш проект должен работать нормально.

Однако, поскольку вы всегда должны исправлять предупреждения компилятора, давайте посмотрим, что мы можем обнаружить. Я совсем не знаком с OpenCV, и вы не ссылаетесь на руководство по вики, которое вы читаете. Но мне кажется, что проблема в том, что вы работаете с 64-битной версией Windows (о чем свидетельствует папка «SysWOW64» в пути к файлам DLL), но вы пытаетесь создать материал OpenCV, который вы пытаетесь для 32-битной платформы. Так что вам может потребоваться перестроить проект с использованием CMake, как описано здесь.

В частности, перечисленные файлы являются системными файлами Windows. Файлы PDB содержат отладочную информацию, которую Visual Studio использует для того, чтобы вы могли входить и отлаживать скомпилированный код. На самом деле вам не нужны файлы PDB для системных библиотек, чтобы иметь возможность отлаживать свой собственный код. Но если вы хотите, вы можете скачать символы для системных библиотек. Перейдите в меню «Отладка», нажмите «Параметры и настройки» и прокрутите вниз список справа, пока не увидите «Включить поддержку исходного сервера». Убедитесь, что опция включена. Затем в древовидном представлении слева нажмите «Символы» и убедитесь, что выбран параметр «Серверы символов Microsoft». Нажмите кнопку ОК, чтобы закрыть диалоговое окно, а затем попробуйте восстановить.

2011-01-27 08:33

Visual Studio Community Edition 2015

У меня была эта ошибка весь день. Я наконец исправил это, выбрав Инструменты> Параметры импорта и экспорта> Сбросить все параметры> Сбросить общие настройки.

После сброса перейдите в «Инструменты»> «Параметры»> «Отладка»> «Символы» — «Затем установите флажок рядом с Microsoft Symbol Servers».

Запустите ваше приложение в режиме отладки, и оно откроет окна, сообщающие, что оно загружает символы для нескольких различных DLL-файлов. Позвольте этому закончить делать это.

Как только он завершится, он должен снова работать.

2016-04-02 17:33

У меня такая же проблема. Оказывается, что при компиляции проекта, который я получил от кого-то другого, я не установил правильный проект StartUp (щелкните правой кнопкой мыши по нужному проекту запуска в обозревателе решений и выберите «установить как StartUp Project»). Может быть, это поможет, ура.

2013-02-21 12:51

Для пользователей VS2013, которые оказались здесь, как и я:

Tools -> Options -> Debugging -> Symbols

Вы увидите, что Cache symbols in this directory: поле пустое; Вы можете либо просмотреть / ввести путь самостоятельно, либо просто нажать кнопку Load all symbols кнопка. Появится окно с предупреждением «Так как вы не выбрали каталог кэша символов, будет использоваться значение по умолчанию». Теперь вы увидите C:\Users\XXXX\AppData\Local\Temp\SymbolCache в ранее пустом поле пути. Нажмите Load all symbols во второй раз, и вы должны быть установлены. Хит хорошо, и только ради усердия, очистить и восстановить ваше решение.

2015-06-01 17:05

Обращаясь к первому потоку / другой возможности, VS не может открыть или найти pdb-файл процесса, когда ваш исполняемый файл работает в фоновом режиме. Я работал с mpiexec и столкнулся с этой проблемой. Всегда проверяйте свой диспетчер задач и уничтожайте любой exec-процесс, который вы собираетесь встроить в ваш проект. Как только я это сделал, он отлажен или построен нормально.

Кроме того, если вы попытаетесь продолжить с предупреждением, точки останова не будут достигнуты, и у него не будет текущего исполняемого файла.

2012-07-12 22:49

Если бы здесь была та же проблема, но сработало другое решение.

Сначала я попробовал следующее, ни одно из которых не сработало:

  1. Загрузите символы как предложено seanlitow

  2. Удалить / Добавить ссылку на PresentationFramework и PresentationCore

  3. Перезагрузите систему

Решение состояло в том, чтобы отменить последние несколько изменений, которые я сделал в своем коде. Я только что добавил пару радиокнопок и обработчиков событий для проверенных и непроверенных событий. После удаления моих последних изменений все скомпилировано. Затем я добавил свои точные изменения обратно, и все правильно скомпилировано. Я не понимаю, почему это сработало — единственное, о чем я могу думать, это проблема с моим VS Solution. В любом случае, если ни одно из других предложений не сработает, вы можете попытаться отменить самые последние изменения. ПРИМЕЧАНИЕ: если вы закроете и снова откроете Visual Studio, ваша история отмен будет потеряна.. поэтому вы можете попробовать это, прежде чем закрыть VS.

2018-08-28 16:10

Я обнаружил, что эти ошибки иногда возникают из-за отсутствия прав при компиляции проекта, поэтому я запускаю от имени администратора, чтобы заставить его работать должным образом.

2012-03-31 15:27

У меня такие же предупреждения. Я не уверен, что это вопрос 32 против 64 бит. Просто загрузили новые символы и некоторые проблемы были решены, но те, которые касаются OpenCV, все еще сохраняются. Это выдержка из вывода с решенной и нерешенной проблемой:

‘OpenCV_helloworld.exe’: загружен ‘C:\OpenCV2.2\bin\opencv_imgproc220d.dll’, не удается найти или открыть файл PDB

«OpenCV_helloworld.exe»: загружен «C:\WINDOWS\system32\imm32.dll», символы загружены (информация об источнике удалена).

Код выходит из 0 в случае, если кто-то спросит.

Программа ‘[4424] OpenCV_helloworld.exe: Native’ завершила работу с кодом 0 (0x0).

2012-06-25 09:32

Я столкнулся с той же проблемой. Когда я запустил мой модульный тест на коде C++, я получил сообщение об ошибке «Не удается найти или открыть файл PDB».

бревна

Когда я посмотрел журнал вывода в Visual Studio, то увидел, что он смотрит не в ту папку. Я переименовал папку WinUnit, но что-то в коде WinUnit искал файл PDB, используя старое имя папки. Я предполагаю, что они жестко закодировали это.

Нашел проблему

Когда я впервые скачал и распаковал файлы WinUnit, основная папка называлась «WinUnit-1.2.0909.1». После того, как я распаковал файл, я переименовал папку в «WinUnit», поскольку ее легче набирать во время установки проекта Visual Studio. Но, видимо, это нарушило возможность поиска файла PDB, хотя я все настроил в соответствии с документацией WinUnit.

Мое исправление

Я изменил имя папки обратно на оригинал, и это работает.

Weird.

2013-05-15 05:55

У меня такая же проблема. Отладка не работает с тем, что поставляется с исполняемым файлом OpenCV. Вы должны построить свои собственные бинарники.
Затем включите серверы Microsoft Symbol в меню «Отладка»> «Параметры и настройки»> «Отладка»> «Символы».

2012-12-25 15:58

1 Решите немного DLL

описание проблемы

"Win32project3.exe" (Win32): "D: \ Software \ VS2013 \ VS2013 Document \ Win32Project3 \ Debug \ Win32project3.exe". Уже загружен.
 «Win32project3.exe» (Win32): «C: \ Windows \ syswow64 \ ntdll.dll». Невозможно найти или открыть файл PDB.
 «Win32project3.exe» (Win32): «C: \ Windows \ syswow64 \ kernel32.dll». Уже загружен.
 «Win32project3.exe» (Win32): «C: \ Windows \ syswow64 \ kernelbase.dll» был загружен. Невозможно найти или открыть файл PDB.
 «Win32project3.exe» (Win32): «C: \ Windows \ Syswow64 \ MSVCR120D.DLL». Уже загружен.
 Программа «[4308] Win32project3.exe» была отозвана, а возвратное значение составляет 0 (0x0).

Решение
1. Нажмите отладку, затем параметры и настройки

2. Зацепите справа, чтобы включить поддержку Source Server

3. Символы слева, проверьте сервер символов Microsoft

4. Подождите минуту при запуске, сразу после загрузки.
5. Просто загрузите впервые, не волнуйтесь. Или вы также можете ждать загрузки, а затем отменить ранее проверенные. Проблем нет.

Есть проблема с отсутствием ucrtbased.dll Left

Скачать 32 -bit и 64 -bit ucrtbased.dll файлы

32 -битная ссылка следующая:
Ссылка: https://pan.baidu.com/s/17ouw4cpm8jktfmgskpufqg
Извлечение кода: 8utk
После копирования этого раздела включите мобильное приложение Baidu Network Disk, удобнее работать

64 -битная ссылка следующая:
Ссылка: https://pan.baidu.com/s/1jed3tduuzl9nzd_kneivfa
Извлечение кода: P807
После копирования этого раздела включите мобильное приложение Baidu Network Disk, удобнее работать

Поместите файл в системный путь вашего компьютера. Путь по умолчанию разных систем заключается в следующем:
Windows 95/98/Me:C:\Windows\System ,
Windows NT/2000:C:\WINNT\System32 ,
Windows XP, Vista, 7, 8, 8.1, 10:C:\Windows\System32 .

В 64 -битной системе Windows,
Путь по умолчанию файла 32 -bit dll: c: \ windows \ syswow64
Путь по умолчанию файла DLL 64 -bit: C: \ Windows \ System32 \
Резервное копирование существующих файлов под пути по умолчанию, охватите загруженный исходный файл обложки ucrtbased.dll.
Если вы понесете ошибку, у вас будет ошибка 0xc000007b (приложение не может запускаться нормально)

Перезагрузить компьютер (не обязательно)

https://blog.csdn.net/win_turn/article/details/50468115

https://blog.csdn.net/moringacui/article/details/117261683

  • C windows syswow64 msiexec exe что это
  • C windows system32 ucrtbase dll ошибка
  • C windows syswow64 mshta exe
  • C windows system32 xinput1 3 dll
  • C windows syswow64 hd hybrid drive cache prepopulate jar