Skip to content
This repository has been archived by the owner on Jan 30, 2024. It is now read-only.

document first steps for debugging #125

Open
maxheld83 opened this issue Jan 10, 2019 · 1 comment
Open

document first steps for debugging #125

maxheld83 opened this issue Jan 10, 2019 · 1 comment
Labels
class website graded-1 graded task, roughly worth 1 story point resources issues concerning learning resources software carpentry

Comments

@maxheld83
Copy link
Member

maxheld83 commented Jan 10, 2019

debugging is an unavoidable step in using software, especially open source software.

It'd be great to have some more resources on debugging strategies specifically on our website, or perhaps even some of our own ideas.

Below are some of the things I suggested in class today, but this may be altered or extended.

@maxheld83 maxheld83 assigned maxheld83 and unassigned maxheld83 Jan 10, 2019
@maxheld83 maxheld83 added class website resources issues concerning learning resources graded-1 graded task, roughly worth 1 story point software carpentry labels Jan 10, 2019
@maxheld83 maxheld83 added this to To do in Kanban via automation Jan 10, 2019
@maxheld83 maxheld83 changed the title document first steps for troubleshooting document first steps for debugging Jan 10, 2019
@maxheld83
Copy link
Member Author

maxheld83 commented Jan 10, 2019

Steps to go through until the problem is solved:

  1. Google the specific part(s) of the error message(s).
    Can be hard, because several programs may emit error messages, and you have to find the root cause error message.
    Good sources for answers are:
    • github.com (existing issues, do not lightly add new issues or comments; you have to be really sure that it's an actual bug with the program in question – github is not for support).
    • stackoverflow.com
  2. Upgrade everything:
    • Operating System
    • R (infrequently)
    • RStudio
    • R packages
    • other packages via your system package manager (homebrew, chocolatey or apt-get or whatever)
    • LaTeX (if relevant), has its own package manager
  3. Narrow down your example; create a minimum workable example (MWE) or reproducible example (reprex) (~same thing).
    Can be really stupid and tiny.
    Don't debug with your thorny, complete project as an example.
    Build up complexity from very simple beginnings to your actual case to figure out where the problem arose.
  4. Disentangle the toolchain.
    Run through the components of your toolchain individually in the command line.
    Figure out what is the offending program, ideally what argument etc.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
class website graded-1 graded task, roughly worth 1 story point resources issues concerning learning resources software carpentry
Projects
None yet
Development

No branches or pull requests

1 participant