0xC0000005: Zugriffsverletzung beim Lesen an Position 0xDDDDDDDD. C++?
VkPhysicalDevice bestGPU = getPhysicalDevice(instance);
this->physicalDevice = PhysicalDeviceVK(bestGPU);
std::cout << surface << std::endl;
VkDeviceCreateInfo deviceCreateInfo = createDeviceCreateInfo();
CATCH(vkCreateDevice(bestGPU, &deviceCreateInfo, nullptr, &this->device));
vkGetDeviceQueue(this->device, 0, 0, &this->queue); //Here it crashes
this->physicalDevice.debug(surface);
Hierbei handelt es sich um einen Konstruktor.
Immer wenn dieser Code ausgeführt wird, unterbricht Visual Studio und gibt folgenden Fehler Code aus.
0xC0000005: Zugriffsverletzung beim Lesen an Position 0xDDDDDDDD
Ich habe Versucht die letzten Zwei Linien des Konstruktors zu entfernen, aber dann kommt der Fehler in der Zeile der Geschweiften Klammer.
Außerdem habe ich Vulkan und GLFW eingebunden.
1 Antwort
Gleiche deine Schritte mit dem Tutorial aus der Vulkan Dokumentation ab. Vermutlich hast du bei irgendeinem Info-struct o.ä. vergessen, ein Feld festzulegen, sodass bspw. keine Queue kreiert / angefordert werden kann (o.ä.).
Was ebenfalls weiterhelfen kann, wäre ein Debugging des Programmcodes, um bspw. in Erfahrung zu bringen, worauf Zeiger wie device oder queue tatsächlich zeigen und ob vorherige Schritte überhaupt erfolgreich abgeschlossen werden konnten.