Компиляция g ++ на сервере AIX — Бросать дамп ядра

У меня есть код ниже.

cat sample.c

#include<stdio.h>
#include "hello.c"int main()
{
hello_world();
return 0;
}

кошка привет

#include<stdio.h>
void hello_world()
{
printf("Hello World");
}
  • Используется команда Compliation:

    g ++ -gxcoff -maix64 -shared -fpic -fpermissive -w -Ihello.c -o sample sample.c -Xlinker -e.main

  • выполнение

$ ./sample

Ошибка сегментации (coredump)

  • Я пытался отладить ядро. Но не мог найти много

    $ dbx образец ядра

    Type 'help' for help.
    [using memory image in core]
    reading symbolic information ...internal error: 1283-232 index("16;0;", ':') failed
    
    internal error: 1283-232 index("16;0;", ':') failed
    
    internal error: 1283-232 index("8;0;", ':') failed
    
    internal error: 1283-228 expected char ',', found ';-31,448,256;;'
    
    internal error: 1283-228 expected char ';', found ',256;;'
    
    internal error: 1283-232 index("256;;", ':') failed
    
    Segmentation fault in . at 0x7c0802a6f8010010
    0x7c0802a6f8010010 (???) warning: Unable to access address 0x7c0802a6f8010010 from core
    

    Пожалуйста, помогите мне, как решить эту проблему дампа ядра

0

Решение

g++ -gxcoff -maix64 -shared -fpic ...

Выше команда строит общая библиотека, не исполняемый файл, который вы можете запустить. Удалить -shared от него, а также -Xlinker -e.main, и это должно просто работать.

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector