【发布时间】:2018-12-30 10:42:24
【问题描述】:
我的 C++ 代码,将字符串推送到 mystack
#include <iostream>
#include <stack>
#include "NativeLogger.h"
std::stack<std::string> mystack;
JNIEXPORT void JNICALL
Java_NativeLogger_push(JNIEnv *env, jobject obj,jstring name)
{
std::string s = env->GetStringUTFChars(name, 0);
mystack.push(s);
return;
}
JNIEXPORT void JNICALL
Java_NativeLogger_pop(JNIEnv *env, jobject obj)
{
mystack.pop();
return;
}
我在使用 Java 运行时收到了以下崩溃报告,知道如何修复它吗?
Java 运行时环境检测到致命错误:
SIGSEGV (0xb) 在 pc=0x00007f29421a0207, pid=18007, tid=0x00007f2942d3e700
JRE 版本:Java(TM) SE 运行时环境 (8.0_144-b01) (build 1.8.0_144-b01) Java VM:Java HotSpot(TM) 64 位服务器 VM(25.144-b01 混合模式 linux-amd64 压缩 oops)有问题的框架:C [libc.so.6+0x97207] __libc_malloc+0x197
【问题讨论】:
标签: java c++ java-native-interface