ruby / ruby/fiddle

Debug support in fiddle?

Offen
#93 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

need feedback
Vorherrschende Sprache
Ruby
Sterne
195
Forks
53
Ø Merge
23 Std. 57 Min.
Gemergte PRs (30 T.)
1

Beschreibung

kojix2 provides the fiddle-bindings for libui here:

https://github.com/kojix2/LibUI

Libui is very easy to use; I ported many of my ruby-gtk3 widgets already,
even though libui is quite limited compared to ruby-gtk3. Anyway, in my own
project i modify Fiddle::Pointer to fake-"simulate" OOP.

My biggest problem with fiddle so far is the debug-support. Due to doing
tons of mistakes I get lots of segfaults, and while it is fun to find out why,
in the long run I'd love to be able to more easily and quickly find the error
I did. But when things segfault, I don't seem to get good quality information.

If segfaults happen in ruby, then I often get the exact name, stack tracke
and call stack; and I can use caller(). With fiddle I do not seem to get the
same information or at the least not as much as I think may be useful.

Would it be possible to improve the debug support in fiddle in general?
Perhaps a better stack trace showing where errors happened, a bit
like how ruby does. Or perhaps I just don't know how to debug this,
in which case it would be nice if the main README could provide a
few helpful pointers. Please feel free to close this issue at any moment
in time - I understand that this may not be a trivial change but if anyone
finds some time in the future, keeping better debug-support would be
super-useful. Right now I seem to do random changes and hope for
the best. :D (See also kojix2' comment in regards to having to assign
to variables to avoid the GC terminate the program. Would be nice
if this could all become more transparent when working via ruby.)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Haupt-README und dem im Issue beschriebenen Verhalten von Fiddle::Pointer und vergleiche dann die für Fiddle-Aufrufe verfügbaren Debugging-Informationen mit Ruby's caller und Stack-Traces. Ermittle, ob das umsetzbare Ergebnis verbesserte Diagnosen oder dokumentierte Debugging-Anleitungen sind; abgeschlossen bedeutet, dass einer dieser Wege klar spezifiziert und durch Tests oder README-Änderungen unterstützt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
devtools, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.