Есть функция, которая подгружает «/usr/lib/x86_64-linux-gnu/libpcsclite.so.1»
#include <dlfcn.h>
void *sc_dlopen(const char *filename)
{
void* ret;
char* err;
//ret = dlopen(filename, RTLD_LAZY);
ret = dlopen(filename, RTLD_NOW);
if(!ret)
{
err = dlerror();
printf("dlopen error %s\r\n",err?err:"unknown");
}
return ret;
}
Ставлю breakpoint на dlopen. При попытке сделать Step Over через dlopen дебагер зависает и дальше не идет. Если запускать программу просто из консоли, то этот код отрабатывает без ошибок (по крайней мере сообщений и с нормальным кодом завершения) и зависаний. С флагами RTLD_LAZY и RTLD_NOW результат одинаковый.
В чем тут может быть дело?