Вместо использования «нормальных» разрывов отладки, почему бы не использовать одно из следующего, например деление на ноль:
int iCrash = 13 / 0;
или разыменовать нулевой указатель:
BYTE bCrash = *(BYTE *)(NULL);
По крайней мере, это переносимо на многих платформах / архитектурах.
Во многих отладчиках вы можете указать, какое действие вы хотите выполнить с какими исключениями, чтобы вы могли действовать соответственно, когда выполняется одно из указанных выше действий (например, выполнение паузы, ala инструкция «int 3») и генерируется исключение.