IdtEntryHooked = FALSE;\r
LoadImageMethod = PcdGet8 (PcdDebugLoadImageMethod);\r
AsmReadIdtr (&IdtDescriptor);\r
- if (!CheckDebugAgentHandler (&IdtDescriptor)) {\r
- if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3) {\r
+ if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3) {\r
+ if (!CheckDebugAgentHandler (&IdtDescriptor, SOFT_INT_VECTOR_NUM)) {\r
//\r
// Do not trigger INT3 if Debug Agent did not setup IDT entries.\r
//\r
return;\r
}\r
- //\r
- // Save and update IDT entry for INT1\r
- //\r
- SaveAndUpdateIdtEntry1 (&IdtDescriptor, &OriginalIdtEntry);\r
- IdtEntryHooked = TRUE;\r
+ } else {\r
+ if (!CheckDebugAgentHandler (&IdtDescriptor, IO_HW_BREAKPOINT_VECTOR_NUM)) {\r
+ //\r
+ // Save and update IDT entry for INT1\r
+ //\r
+ SaveAndUpdateIdtEntry1 (&IdtDescriptor, &OriginalIdtEntry);\r
+ IdtEntryHooked = TRUE;\r
+ }\r
}\r
\r
//\r