簡體   English   中英

調試斷言失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM