I’m having trouble with my program crashing. I get that “Program.exe has stopped working” windows pop-up which mentions my exception code is c0000005. When I return to the output from the application in Qt, it shows:
C:\Users\Me\Desktop\project\project-build-desktop\debug\project.exe exited with code -1073741819
I’ve found the line that’s causing the error (I think!), though I don’t know why it might. If I comment out this line, the program won’t crash.
The line is:
db=newDb;
This is located in the constructor of my class wndChildWhatever which is a QMainWindow. newDb is defined in the constructor arguments as DatabaseManager *newDb and db is a private member of wndChild defined as DatabaseManager *db. This database address is passed around all over my program, and this wndChildWhatever is the only one I’m having trouble with.
The exception/crash doesn’t occur when the window is opened/constructed, however. It happens when the window is closed. What’s weirder is that it doesn’t happen every time. Sometimes you can open the window and close it with out problem, then open it again and on the second closing, it crashes. Other times it happens the first time you try to close it.
I’m really not sure what’s going on here and hope someone can assist!
The faulting line:
And you say:
It sounds like your
thispointer might be invalid. That is, if this happens in a methodfooyou are doing something likewndChild->foo()andwndChildis an invalid pointer. Therefore when it access the offset ofdbrelative towndChildyou hit an accesses violation. (NT error code0xc0000005, Windows-speak for a bad pointer dereference.)