- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在运行时循环两次,在通过请求查询调用 PrepareStatement
时因 Bad_Access
而崩溃。
所以我检查了所有的 ResultSet 内存并释放了它但是没有想法有什么办法可以解决这个问题吗?
关于成员(member)值(value)的说明;
PrepareStatement* pstmt;
ResultSet* res;
和完整代码
bool laskdjlaskdj12::RaspBerry::grup_pw_chk(const Json::Value j){
//check the id and group is valid
try{
string group = j["Group"].asString();
const char* id = j["id"].asCString();
string grp;
string pub;
BIO* tmp; //BIO structor to change the RSA* structor
if(group == "NULL"){
group = "";
}
//request the Client is existence
pstmt = con->prepareStatement("SELECT * FROM `raspberry_cli` WHERE `Cli_id` = (?) AND `Cli_Group` = (?)");
pstmt->setString(1, id);
pstmt->setString(2, group);
res = pstmt->executeQuery();
//if query reply is NULL
if(res->next() == false){
std::cout<<"[INFO] : There is no query about raspberry_cli"<<std::endl;
return false;
}
//if query Reply
grp = res->getString("Cli_Group");
pub = res->getString("Cli_Pub");
//if There is no group in Raspberry_pi
if(ras.grp.compare(grp) == false){
//sql의 버퍼 flush
this->SQL_Flush();
return false;
}
// if the group is equal
else{
//save the client information
acc_cli.S_id = id;
acc_cli.S_Group = grp;
//save the client public_key
tmp = BIO_new_mem_buf(pub.c_str(), -1);
acc_cli.Pub_key = PEM_read_bio_RSA_PUBKEY(tmp, NULL, 0, NULL);
//if public key is not wright in section
if(acc_cli.Pub_key == NULL){
return false;
}
delete[] tmp;
//flush SQL_flush = delete ResultSet
this->SQL_Flush();
return true;
}
}catch(sql::SQLException& e){
std::cout << "# ERR: SQLException in " << __FILE__;
std::cout << "(" << __FUNCTION__ << ") on line "<< __LINE__ << std::endl;
std::cout << "# ERR: " << e.what();
std::cout << " (MySQL error code: " << e.getErrorCode();
std::cout << ", SQLState: " << e.getSQLState() << " )" << std::endl;
return false;
}
Detal StackTrace 是这样的
* thread #1: tid = 0x2778b, 0x00000001000e29c3 RaspBerry`list_add(root=0x0000000100903e38, element=0x00000001009043e8) + 19 at list.c:33, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
frame #0: 0x00000001000e29c3 RaspBerry`list_add(root=0x0000000100903e38, element=0x00000001009043e8) + 19 at list.c:33 [opt]
frame #1: 0x00000001000de27f RaspBerry`mysql_stmt_init(mysql=0x0000000102802220) + 143 at libmysql.c:1568 [opt]
frame #2: 0x0000000100168f41 RaspBerry`sql::mysql::NativeAPI::MySQL_NativeConnectionWrapper::stmt_init(this=0x0000000100a00580) + 33 at mysql_native_connection_wrapper.cpp:421 [opt]
frame #3: 0x000000010011c415 RaspBerry`sql::mysql::MySQL_Connection::prepareStatement(this=0x0000000100a00550, sql=0x00007fff5fbfe138) + 53 at mysql_connection.cpp:1137 [opt]
* frame #4: 0x0000000100073071 RaspBerry`laskdjlaskdj12::RaspBerry::grup_pw_chk(this=0x00007fff5fbfeba0, j=const Json::Value @ 0x00007fff5fbfea30) + 881 at RaspBerry.cpp:438
frame #5: 0x000000010007c222 RaspBerry`main(argc=1, argv=0x00007fff5fbff7f8) + 3474 at main.cpp:81
frame #6: 0x00007fffced8b255 libdyld.dylib`start + 1
frame #7: 0x00007fffced8b255 libdyld.dylib`start + 1
最佳答案
寻找答案
pstmt = con->prepareStatement("SELECT * FROM `raspberry_cli` WHERE `Cli_id` = (?) AND `Cli_Group` = (?)");
pstmt->setString(1, id);
pstmt->setString(2, group);
res = pstmt->executeQuery();
[delete pstmt;] //===================> This part is missing
在这部分我没有删除 pstmt(sql::preparestatement*)所以 sql 已经发送了那个 malloc 错误。
所以在分配内存时要小心。
关于C++ MySQL 连接器 PrepareStatement Bad_Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701003/
当我从 EKEvent 访问生日ContactIdentifier 属性时,我总是立即收到 BAD_ACCESS 错误(甚至无法进行 nil 检查) 这是我用来获取的代码 import UIKit
我有 A 类和 B 类。我正在从 A 类调用 B 类。这里我的问题是 A 类的宽度和高度取决于 B 类。当 sizeForScrollView 属性(B 类属性)更改时我想要通知。一切正常。但是当我当
我正在从 ARKit 捕获一帧并从中获取 CVPixelBuffer func session(_ session: ARSession, didUpdate frame: ARFrame) {
我想保留我的风景。为此,我正在使用此代码,但 BAD_ACCESS 即将到来。在这里,我正在为相机 overlayView 编写这段代码。 -(void)viewDidLoad { [[
当我尝试使用我在 iPhone 开发中从本地 SQLITE 数据库中选择的值执行任何操作时,我收到 EXC_BAD_ACCESS。我的功能代码是 -(void) updateFromDB { // S
我用 Xcode 编写。我的代码应该将文本文件逐行读取到指针数组 *ar[] 中。我使用了一个简单的循环,通过 getc() 将每个字符读取到 c,并将 c 读取到 *ar[i]。如果 c!= '\n
我在 Xcode 7.3 上的 Swift 2.2 中发现了一个奇怪的错误(或者这不是错误但我做错了什么)。 我有一个枚举,其中一个案例和类将此枚举作为初始化程序的参数 enum OneCaseEnu
我正在浏览一个可变参数列表,当我到达列表中的最后一个对象时,我总是会收到 BAD_ACCESS 错误。我强烈认为它是 ARC相关问题。 这是我的做法: -(NSString *)replaceToke
我有一个由 NSFetchedResultsController 提供的 UITableViewController。 一切正常,直到我添加 if (self.fetchedResultsContro
好吧,我完全不知所措了。一小部分用户在我的主机名翻译中似乎存在 BAD_ACCESS 错误。 完整的崩溃如下: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Ex
由于某种原因,我的应用程序崩溃了,我不确定是什么原因导致了问题,除了它似乎与处理文件时跨越的调度队列有关。任何帮助将不胜感激。 Crashed Thread: 0 Dispatch queue:
这听起来可能是个新手问题,但我是 iOS 开发新手, 最近我切换到 ARC 并在我的代码中遇到以下问题。我已经使用以下 init 方法实现了一个类 - (id)init { self = [s
下面是我上传日志文件到FTP的代码,问题是有时执行[mInputStream open]时会崩溃。 XCode 显示 BAD_ACCESS。我猜这可能是由于上传大文件造成的。然而,即使文件很小,有时也
我正在尝试像这样实例化 UiAlertView: UIAlertView *alert = [[UIAlertView alloc]
我在使用异步调度时遇到了一个非常奇怪的错误访问错误。我设法将其减少到程序中的这段代码。 -(void)buttonTapped:(id)sender { __block NSArray*foo
我有一个属性(noARC) @property (nonatomic, retain) NSString *itemUUID; 和一个初始化 - (void) viewDidAppear:(BOOL)
我在子类 UIImageview 中有一个 CGMutablePathRef 属性。当我创建新路径并将其分配给属性时,CGPathRelease 在我调用 CGPathContainsPoint 时会
在运行时循环两次,在通过请求查询调用 PrepareStatement 时因 Bad_Access 而崩溃。 所以我检查了所有的 ResultSet 内存并释放了它但是没有想法有什么办法可以解决这个问
也许我不打算使用 CoreData 显示选定行的详细信息,但我无法弄清楚为什么我会收到“BAD_ACCESS”错误。我用谷歌搜索,找不到我要找的东西。 基本上,我使用 CoreData 来填充 Tab
我有一个带有 3 个 View Controller 的应用程序,它们被推送到导航 Controller 堆栈上。 (A) -> (B) -> (C) (A) 在 viewWillAppear 中注册
我是一名优秀的程序员,十分优秀!