啊关于First-chance exception in XX.exe (ntdll.dll): 0xC0000005: Access Violation

求救啊,关于First-chance exception in XX.exe (ntdll.dll): 0xC0000005: Access Violation
求救啊,关于First-chance exception in XX.exe (ntdll.dll): 0xC0000005: Access Violation,最近在将两个程序合成在一起,用的是分割视图进行显示不同的图像,下面的是将下载的地图进行拼接,本来分开的程序都没问题,为什么放在一起会出现这个问题啊,编译可以通过,但调试时出现错误。
MessageBox("图片下载完成,开始拼接图片");
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));

m_dcCompatible1.CreateCompatibleDC(&dc);
  m_dcCompatible1.SelectObject(pBrush);
CSize sizeTotal=GetTotalSize();
CBitmap bitmap;
  bitmap.CreateCompatibleBitmap(&dc,5000,5000);
m_dcCompatible1.SelectObject(&bitmap);
m_dcCompatible1.FillSolidRect(0,0,5000,5000,RGB(255,255,255));
  m_dcCompatible1.BitBlt(0,0,5000,5000,&dc,0,0,SRCCOPY);
int i,j;
CString str1,str2,str3;
str1.Format("%d",maxn);
MessageBox(str1);
str2.Format("%d",minn);
MessageBox(str2);
for(i=0;i<maxm-minm+1;i++)
for(j=0;j<maxn-minn+1;j++)
{
CString filename;
filename.Format(Path+"\\%d_%d_%d.jpg",minm+i,minn+j,m_zoom);
using namespace Gdiplus;
  Graphics graph(m_dcCompatible1.GetSafeHdc());
USES_CONVERSION;
LPWSTR wStr=A2W(filename);
Image image(wStr);
graph.DrawImage(&image,i*256,j*256);在这句时出现错误
}
我看这个问题都是关于指针的用法不对,我该怎么检查啊,求指教...


------解决方案--------------------
你这个是典型的栈破坏了,应用程序存在溢出Bug....
------解决方案--------------------
LPWSTR wStr=A2W(filename);
Image image(wStr);
这里为什么要转代码呢? 有可能你原来两个项目的编码不同,一个是Unicode,所有的LPTSTR=LPWSTR, 另一个是不带Unicode的发行版或调试版,LPTSTR=LPSTR. filename可能已经是Unicode编码了.