http://download.csdn.net/download/ddlddy/3055217
下载链接的dll文件
1.在OnInitDialog()添加代码如下:
BOOL CexceptDlg::OnInitDialog()
{
...
...
HINSTANCE hDll; //DLL句柄
// lpAddFun addFun; //函数指针
hDll = LoadLibrary("exceptlog.dll");//LoadLibrary("..\\Debug\\dllTest.dll");
if(hDll != NULL)
{
/* addFun = (lpAddFun)GetProcAddress(hDll, "add");
if (addFun != NULL)
{
int result = addFun(2, 3);
printf("%d", result);
}*/
::AfxMessageBox("hDll != NULL");
//FreeLibrary(hDll);
}
else if(hDll == NULL)
{
::AfxMessageBox("hDll == NULL");
FreeLibrary(hDll);
}
else
{
::AfxMessageBox("else");
FreeLibrary(hDll);
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
2.随便来个btn,代码如下:
void CexceptDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
unsigned int dest=0x82450123;
unsigned int *addr=(unsigned int *)dest;
*addr=0x12345678;//错误代码
int a;
a = 10;
int b;
b = 1;
int c;
c = 12;
int v;
v = 1;
}
3.执行程序。
注意,是Release版本程序,而且要将 **.exe, **.pdb, exceptlog.dll 都放入到release文件夹里。
4.执行结果,会生成except.exe-crack-1438139321.txt文件,内容如下:
SymFromAdd failed!
[Source File : e:\demo\test\except\except\exceptdlg.cpp]
[Source Line : 181]
SymFromAdd failed!
SymGetLineFromAddr failed!
SymFromAdd failed!
SymGetLineFromAddr failed!
SymFromAdd failed!
SymGetLineFromAddr failed!
SymFromAdd failed!
SymGetLineFromAddr failed!
SymFromAdd failed!