句柄OK全部崩溃
HandleOKCallback crash
嗨,如果我检查 argv[1],当我执行时,下面的代码崩溃了。请帮助 修复它,在将值分配给 argv[1] 时,我需要检查布尔变量checktrue是否为真 分配字符串值 否则分配 int 值,如下代码所示。
void DispatchEventWorker::HandleOKCallback() {
v8::Local<v8::Value> argv[2];
argv[0]= Nan::New<v8::String>(structdata.value1).ToLocalChecked();
if(checktrue)
{
argv[1] = Nan::New<v8::Number>(structdata.value2).ToLocalChecked();
}
else
{
argv[1] = Nan::New<v8::String>(structdata.value3);
}
callback->Call(2, argv);
}
注意输出:进程123432098(节点(终止 SIGSEGV 代码=1 fltno=11 ip=0000000001076a08(/usr/lib/ldqnx-64.so.2@memcpy+0x0000000000000048( mapaddr=00000000000076a08。 ref=2073696874206f74
首先,我建议您在回调JS时始终包含async_resource
,否则某些Node.js功能将不起作用:
this->callback->Call(2, argv, this->async_resource);
然后,您的代码缺少argv[1]
上的.ToLocalChecked()
,并且无法以当前形式编译。
否则,它没有任何根本性的问题,并且很可能崩溃与 Node 无关.js - 也许这些值之一是空指针。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- Visual Studio在尝试读取resource.txt文件时崩溃
- 句柄OK全部崩溃