[英]Debug Assertion Failed
我在做一個nodejs插件。 下面的代碼是進行語音識別的最后一個例程的一部分:
char * resultado = Julius[cliente_id].NotifyCallbackLoop("random");
float cm = Julius[cliente_id].ReturnCM();
Julius[cliente_id].~SREngineJulius();
cout << "End Recognition - Client -->" << cliente_id << endl;
// create a ISO-8859-1 a.k.a. Latin1 string
const uint8_t* octets = reinterpret_cast<const uint8_t*>(result);
Local<String> devolve = String::NewFromOneByte(isolate, octets);
Local<Number> num = Number::New(isolate, cm);
Local<Object> obj = Object::New(isolate);
obj->Set(String::NewFromUtf8(isolate, "cm"), num);
obj->Set(String::NewFromUtf8(isolate, "recog"), devolve); //C++--->JS
args.GetReturnValue().Set(obj);
如果result
是諸如“ home”之類的小詞,則對於服務器擁有的許多用戶來說,這將很好地工作。 但是,如果單詞更大,例如“ signal-processing-laboratory”,則服務器將在插件中崩潰。 調試之后,我得出結論,插件將一直運行直到"End Recognition - Client -->"
。 然后出現此錯誤:
調試斷言失敗!
文件:f:\\ vctools \\ crt \\ crtw32 \\ misc \\ dbgheap.c行:1322表達式:_CrtIsValidHeapPointer(pUserData)
正如@molbdino所說,析構函數將引起問題。 刪除它,將解決“調試斷言失敗”的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.