What can I use instead of "int 3" instruction in a 64-bit application?

The 64-bit version of Visual C++ compiler does not support inline assembler, so you cannot write code like "__asm int 3". But there is one more, less known mechanism to create interrupts during debugging – __debugbreak(). This is an intrinsic function of the VisualC++ compiler defined in vc\include\intrin.h which actually has the same functionality as int 3. Unlike int 3, this function is cross-platform. The Win32 function DebugBreak() has a similar functionality.


Use PVS-Studio to search for bugs in C, C++, C# and Java code

We offer you to check your project code with PVS-Studio. Just one bug found in the project will show you the benefits of the static code analysis methodology better than a dozen of the articles.

goto PVS-Studio;

Bugs Found

Checked Projects
Collected Errors
12 668