Hvordan kan jeg udskrive debug en C ++ Win32 DLL?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder i øjeblikket på et projekt, der er afhængig af at injicere en DLL i en anden proces, så (AFAICT) standard fejlfindingsværktøjer virker ikke. Det jeg har brugt i stedet er #define DEBUG(\_msg) MessageBoxA(nullptr, \_msg, "Debug", MB\_OK).


Dette har problemet, at det blokerer den aktuelle tråd, indtil jeg klikker på meddelelsesboksen, som skruer op min kode på bestemte steder og/eller fryser processen jeg injicerede DLL i.


Så hvordan skal jeg udskrive en fejlmeddelelse med Win32 API, som jeg kan se andre steder, og fortsæt med at køre kode med det samme?

Bedste reference


I Visual Studio kan en kørende proces fejlsøges.


I menuen Fejlfinding se efter Vedhæft til at behandle.


Derefter kan breakpoints udløses som normalt.