hackwaly / ocamlearlybird

OCaml debug adapter
MIT License
208 stars 23 forks source link

Breakpoints only worked inside the _build/default/ directory #58

Open Mng12345 opened 6 months ago

Mng12345 commented 6 months ago

The breakpoint can not be add in the source file, when i click the line in source file, the breakpoint is added in the file located in _build/default directory. Screen-shot is here. image

sim642 commented 6 months ago

I've found this to be more annoying in terms of modifying the files because after debugging, you might have the _build copy open instead of the original source, but that's read-only.

I think the problem is that dune-built artifacts are all based on the sources copied to _build and thus debug information refers to those paths instead of the ones in original sources. It's not as simple as just dropping _build/default/ for various reasons:

  1. Users might use some other dune contexts as default.
  2. Some sources are generated, so no original source exists (unless dune promotion is being used).
  3. Some sources are transformed (e.g. by ppx), so original and built sources are different (with different line numbers).
Mng12345 commented 6 months ago

Yes, it did be a little annoying...... I have got notified a lot of times by warning the file in _build/default can not be modified.

Mng12345 commented 6 months ago

mnggiflab-video-to-gif (28)