Fanatyk LEGO Island nie powiedział jeszcze ostatniego słowa.

  • naur@tech.pr0n.plM
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    16 days ago

    W jaki sposób tworzyłeś pliki symboli do binarek? Przygotowałeś pliki .c ze strukturami i skompilikowałeś do obiektu, czy jest jakiś inny sposób na generowanie takich DWARFów/PDB bez oryginalnej wersji?

    • Lacky@tech.pr0n.plOP
      link
      fedilink
      arrow-up
      2
      ·
      14 days ago

      Kopiowałem budowę struktur z kodu źródłowego silnika AGS do osobnego pliku C. Potem budowałem to do samego obiektu (plik *.o). Potem w w samym GDB ładowałem to poleceniem add-symbol-file.

      • naur@tech.pr0n.plM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        edit-2
        13 days ago

        Fajna sztuczka. Ciekawe czy zadziałałoby to w C++. Tutaj trzeba by pewnie trafić z flagami kompilatora, żeby layout klas był taki sam.

        Nawiasem mówiąc, w C++ kolejność składowych klasy w wygenerowanej binarce jest gwarantowana tylko w obrębie tego samego poziomu dostępu (public/protected/private). Tak więc teoretycznie robiąc strukturę trzeba by deklarować pewnie wszystie pola/metody publiczne. W praktyce wątpię, czy który kolwiek kompilator to przestawia.