[英]Run-Time Check Failure #2 - Stack around the variable 'IDNumber' was corrupted
[英]Run-Time Check Failure #2 - Stack around the variable 'ex' was corrupted
我得到了运行时异常;
运行时检查失败#2-变量'ex'周围的堆栈已损坏。
用于以下代码。
DBConnPtr CDBConnector::GetConnectionInstance()
{
if (m_pConn)
return m_pConn;
if (m_loginInfo.hostName.IsEmpty() ||
m_loginInfo.portNumber == 0 ||
m_loginInfo.userName.IsEmpty())
return m_pConn;
CString hostInfo(_T(""));
hostInfo.Format("tcp://%s:%d", m_loginInfo.hostName, m_loginInfo.portNumber);
sql::SQLString host = hostInfo;
sql::SQLString user = m_loginInfo.userName;
sql::SQLString pwd = m_loginInfo.userPwd;
try
{
sql::Driver* pDriver = get_driver_instance();
m_pConn = (DBConnPtr)pDriver->connect(host, user, pwd);
}
catch (sql::SQLException ex)
{
}
//mysql_thread_end();
return m_pConn;
}
在移动sql::SQLString pwd = m_loginInfo.userPwd;
在try块之外,它曾经抛出
运行时检查失败#2-变量'pwd'周围的堆栈已损坏。
有什么想法吗? 我正在使用mysql库并尝试捕获在connect
调用中发生的SQLException。
将每个CString类型转换为LPCTSTR之后的输出窗口:
MyApp.exe中0x75B61D4D的首次机会异常:Microsoft C ++异常:内存位置0x0493F8C0处的sql :: SQLException。
MyApp.exe中0x75B61D4D的首次机会异常:Microsoft C ++异常:内存位置0x0493F8C0处的sql :: SQLException。
MyApp.exe中0x005E18A5处未处理的异常:堆栈cookie工具代码检测到基于堆栈的缓冲区溢出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.