Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"unknown C primitive unix_has_symlink" error in VSCode debugger #106

Open
ewan-delanoy opened this issue Jun 23, 2017 · 7 comments
Open

Comments

@ewan-delanoy
Copy link

Hello, this example has just one file called debugged.ml with only one breakpoint
to set in it, at line 6288.
The contents of debugged.ml are available at https://github.com/ewan-delanoy/hello-world/tree/master

Debugging outside VSCode works (terminal output below) but when I try to do it
inside VSCode I get a "unknown C primitive unix_has_symlink" error message.

visual

$ ocamlc -g -bin-annot str.cma unix.cma debugged.ml -o debugged.ocaml_debuggable
$ ocamldebug debugged.ocaml_debuggable
OCaml Debugger version 4.04.1

(ocd) break @debugged 6288
Loading program... done.
Breakpoint 1 at 221080: file debugged.ml, line 6288, characters 38-76
(ocd) r
Time: 359853 - pc: 221080 - module Debugged
Breakpoint: 1
6288 let h2=Sc_option.find_really (fun x-><|b|>x.Sc_beaver_for_statement.name="echo2")
(ocd) q
Removed breakpoint 1 at 221080: file debugged.ml, line 6288, characters 38-76

@hackwaly
Copy link
Owner

I can't reproduce your problem.
image

@ewan-delanoy
Copy link
Author

Some more details then :
I'm using OCaml 4.04.1 on my Mac 10.11.3.
Here is the exact sequence of what I did :

  1. Open the debugged.ml file , using open -a /Applications/Visual Code Studio.app in the terminal.
  2. Inside VScode, open the folder containing the debugged.ml file
  3. Click "Start debugging" in the menu
  4. Check the launch.json file (see image below)
  5. Set the breakpoint by putting a red circle with the mouse, at line 6288 in the debugged.ml file
  6. Launch the debugging process by clicking on the green arrow (as in the image of my first post)

Did you do additional steps or did you some step differently ?

Note : when I set stopOnEntry to true, I get the same error message, "Fatal error: unknown C primitive `unix_has_symlink'" but without the "Lost connection" part.

visual2

@hackwaly
Copy link
Owner

No, I do debug as same as you

@hackwaly
Copy link
Owner

hackwaly commented Jun 24, 2017

I can provide my working project to you. Did you need it?

@ewan-delanoy
Copy link
Author

What is your "working project" ?
I'm curious to know if I could do some more in-depth debugging about this.

@hackwaly
Copy link
Owner

test_vscode.zip

@ewan-delanoy
Copy link
Author

It seems that the problem comes from a version mismatch : see https://discuss.ocaml.org/t/unknown-c-primitive-unix-has-symlink-in-vscode-debugger/415/3

Perhaps the problem will disappear if you upgrade the debugger version inside VSCode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants