Enhancing Julia Debugging: Entry Points
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaDebug/Debugger.jl
-
tagbot-manual
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaDebug/Debugger.jl#410 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
JuliaDebug/Debugger.jl#423 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
JuliaDebug/Debugger.jl#422 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
JuliaDebug/Debugger.jl#418 · 1 commento ·
-
Syntax highlighting warningAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
JuliaDebug/Debugger.jl#417 · 1 commento ·
Tutte le issue di JuliaDebug/Debugger.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Review dependenciesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
osrep/Runes2P.jl#283 ·
I maintainer di solito rispondono entro 1 giorno