51testing 发表于 2007-11-23 14:47:26

游戏编程系统1----异常检测系统

最近玩魔兽,蛮喜欢他的异常系统的,偶最怕windows自带的异常,看到红叉叉就头疼.

核心思想无非就是
初始化的时候
OldException = SetUnhandledExceptionFilter(你自己定义的错误函数);
用玩了就
SetUnhandledExceptionFilter(OldException);

无非就是用自己弹出的对话框替代系统默认而已

自己定义一个
LONG ExceptionHandler(HINSTANCE hInstance, EXCEPTION_POINTERS* ExceptionPointer)

使用的时候
__try
{
throw;
}
__except(ExceptionHandler(hInstance, GetExceptionInformation())
{
exit(0);
}

自己在ExceptionHandler中DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_EXCEPTDIALOG), NULL, (DLGPROC)ExceptionDialog_DialogProc, (LPARAM)szMessage);
IDD_EXCEPTDIALOG是在资源中定义的对话框的资源ID,ExceptionDialog_DialogProc是对话框的处理MsgProc,szMessage是传递给对话框的函数,我这里传递的是文字信息.


详细实现

jiazurongyu 发表于 2011-5-30 10:51:34

有些包头和战斗的异常都记录到了bug服务器

jiazurongyu 发表于 2011-5-30 10:54:20

当是自愿丢失和B类以上问题 就会出现弹框 的问题

jiazurongyu 发表于 2011-6-23 01:12:06

wins自带的错误日志看的蛋疼error 6
做游戏测试的压力有点大
页: [1]
查看完整版本: 游戏编程系统1----异常检测系统