关于dlopen的问题

我用QNX交叉编译了一个动态库,在程序中dlopen动态库的时候,程序崩溃了。用GDB调试时,发现没有提供有用的信息,只是提示堆栈损坏。
程序如下:
#include
#include
#include <dlfcn.h>

int main(int argc, char *argv[]) {
using std::cout;
using std::endl;
void *handle = NULL;

if((handle = dlopen(argv[1], RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
cout <<“dlopen” << argv[1] << "error- " << dlerror() << endl;
exit(-1);
}
cout <<“dlopen” << argv[1] << “ok” << endl;
return 0;
}
执行命令test libplanning_component.so,提示信息如下:

./testdlopen libplanning_component.so

libs: load_object: attempt load of /proc/boot/libstringsa64.so
libs: /proc/boot/libstringsa64.so: found; real path:/proc/boot/libstringsa64.so.1
libs: load_elf: Shared library base: 0x78000000
libs: load_elf: libstringsa64.so relro segment is now lazy mapping; 78011000-78012000
libs: load_elf: loaded lib at addr 78000000(text) 78011dd0(data)
libs: object /proc/boot/libstringsa64.so loaded; real soname: libstringsa64.so.1 loaded from: /proc/boot/libstringsa64.so.1
libs: load_object: attempt load of libc++.so.1
libs: /lib/libc++.so.1: found; real path:/lib/libc++.so.1
libs: load_elf: Shared library base: 0x78013000
libs: load_elf: libc++.so.1 relro segment is now lazy mapping; 780f7000-780ff000
libs: load_elf: loaded lib at addr 78013000(text) 780f78a0(data)
libs: object libc++.so.1 loaded; real soname: libc++.so.1 loaded from: /lib/libc++.so.1
libs: load_object: attempt load of libm.so.3
libs: /proc/boot/libm.so.3: found; real path:/proc/boot/libm.so.3
libs: load_elf: Shared library base: 0x78102000
libs: load_elf: libm.so.3 relro segment is now lazy mapping; 7814a000-7814b000
libs: load_elf: loaded lib at addr 78102000(text) 7814a8b0(data)
libs: object libm.so.3 loaded; real soname: libm.so.3 loaded from: /proc/boot/libm.so.3

libs: init: libc.so.4 obj->refcount: 1
libs: init: libm.so.3 obj->refcount: 1
libs: init: libc++.so.1 obj->refcount: 1
libs: init: libstringsa64.so.1 obj->refcount: 1
libs: dlopen(“libplanning_component.so”,257)
Mode: LAZY GLOBAL

libs: Neither RTLD_GROUP nor RTLD_WORLD specified, assuming RTLD_GROUP | RTLD_WORLD
libs: load_object: attempt load of libplanning_component.so
libs: libplanning_component.so: found; real path:/apollo/libplanning_component.so
libs: load_elf: Shared library base: 0x7814c000
libs: load_elf: libplanning_component.so relro segment is now lazy mapping; 783b2000-783bb000
libs: load_elf: loaded lib at addr 7814c000(text) 783b2408(data)

Process 876567 (testdlopen) terminated SIGSEGV code=1 fltno=11 ip=0000000001056bf4(/usr/lib/ldqnx-64.so.2@dlopen+0x0000000000001834) mapaddr=0000000000056bf4. ref=b400108c7c184c00
Memory fault (core dumped)
请高人提示这个问题应该怎么查?