Enhancing Julia Debugging: Entry Points

Aperta
#340 0 commenti 4 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
julia
Ambito
devtools

Direzione di ricerca

L'issue non indica file, test o un punto di ingresso del codice. Inizia individuando la gestione dei breakpoint del debugger in modalità compilata, quindi definisci come i punti di ingresso designati manualmente debbano attivare lo stepping automatico fino al raggiungimento di un breakpoint rosso. Il lavoro è completato quando il workflow del punto di ingresso proposto è specificato e coperto per le modalità di debugging pertinenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Debugging in Julia can be significantly enhanced, particularly in dealing with large codebases, through the introduction of entry points.

When debugging extensive Julia code, the compiled mode proves to be practically useful due to its speed and freedom from conflicts with libraries. In contrast, the non-compiled mode easily becomes impractical due to its slow performance or potential library conflicts.

However, a notable drawback of the compiled mode is that it ignores breakpoints within sub-functions. Consequently, users are required to manually navigate through the code until the relevant subfunction is reached.

When repeatedly debugging functions at a deep level, the current approach involves placing breakpoints at all calling functions, necessitating multiple manual step-ins and step-outs to reach the desired section of code. This significantly disrupts the debugging flow and makes it challenging to maintain focus on the specific problem at hand.

Consider this idea: instead of manually stepping in and out at every level, why not let the Julia Debugger handle it automatically? If, instead of setting red breakpoints at all calling functions, users could designate orange entrance points, the debugger could identify these entry points and execute step-ins and step-outs automatically until the first red breakpoint is encountered.

Introducing this feature would greatly enhance the debugging experience, providing a more streamlined and focused approach to identifying and resolving issues in the code.

Note: If you can create a function that can find the entry points on its own, we’ll have a debugger that’s as good as those in other languages, but with the speed of Julia! This would make Julia even more appealing. However, I see this as a second step. First, I strongly suggest to improve the efficiency by manually setting the entry points. Right now, debugging in Julia becomes difficult as the project gets bigger.

Lingua principale
Julia
Stelle
515
Fork
50
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di JuliaDebug/Debugger.jl

Tutte le issue di JuliaDebug/Debugger.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.