Ошибка сегментации перед `main ()` При внедрении V8 в C ++ [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка сегментации перед `main ()` При внедрении V8 в C ++ [закрыто]

Сообщение Anonymous »

Я внедряю V8 в проект C ++. Сборка завершается успешно, но при запуске исполняемого файла она сбивается с сбоем с ошибкой сегментации, прежде чем достичь main () .
Эта ошибка была выбрана очень рано при запуске процесса. Если вы считаете это ошибкой. Пожалуйста, сообщите по адресу https://issues.chromium.org/issues/393955678
среда
  • работа Система: Ubuntu 24.04.1
  • компилятор: GCC 11.4.0
  • Архитектура: x86_64
сведения о сбое
Запуск исполняемого файла в рамках GDB дает следующую backtrace : < /p>

Код: Выделить всё

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff782a304 in call_init (env=, argv=0x7fffffffdaa8, argc=1) at ../csu/libc-start.c:145
#2  __libc_start_main_impl (main=0x55555579f0e9 , argc=1, argv=0x7fffffffdaa8, init=, fini=, rtld_fini=,
stack_end=0x7fffffffda98) at ../csu/libc-start.c:347
#3  0x000055555579f025 in _start ()
Сбой происходит по адресу 0x000000000000000000 , что предлагает нулевой указатель. Как указано в качестве V8_Documentaaion < /p>
Команда компиляции, которую я использовал, < /p>

Код: Выделить всё

g++ v8/v8/samples/hello-world.cc -o app -Iv8/v8 -Iv8/v8/include -pthread -std=c++20 -fno-rtti -fuse-ld=lld -L v8/v8/out.gn/x64.release.sample/obj/ -lv8_monolith -lv8_libbase -lv8_libplatform -ldl -g
< /code>
Я пробовал все известные инструменты, чтобы найти проблему. но я не могу его решить. < /p>
Док также говорит, что < /p>

Примечание: по состоянию на ноябрь 2024 г. это также может и Segfault рано во время запуска процесса. Расследование находится на рассмотрении. Если вы столкнетесь с этим и можете выяснить, что случилось, пожалуйста, прокомментируйте вопрос 377222400 или отправьте патч. /> [list]
[*] Я подозреваю, что сбой может быть связан с инициализацией динамической библиотеки (call_init
в libc ).
[*] Сбой происходит до main () , поэтому он может быть связан со статической/глобальной инициализацией.
[/list]
ожидаемое поведение
Приложение должно правильно инициализировать V8 и выполнять main () без сборов сегментации.
Дайте мне знать, если вам нужны какие -либо изменения! < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-v8-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»