# How to use "gtrace" in VScode?

**URL:** <https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033>\
**Category:** PlDoc\
**Tags:** how-to\
**Created:** [December 6, 2023, 7:30am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033 "2023-12-06T07:30:51Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![EySword](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/eysword/32/5992_2.png) [@EySword](https://swi-prolog.discourse.group/u/EySword)\
**Post date:** [December 6, 2023, 7:30am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/1 "2023-12-06T07:30:51Z")

</div>

I have [SWI-Prolog 9.0.4] installed.  
When I open swipl in vscode and type “gtrace.” in terminal, it shows:

```prolog
?- gtrace.
Correct to: "trace"? no
ERROR: Unknown procedure: gtrace/0
ERROR: However, there are definitions for:
ERROR: trace/0
ERROR:
ERROR: In:
ERROR: [10] gtrace
ERROR: [9] toplevel_call(user:user:gtrace) at f:/swipl/boot/toplevel.pl:1173
   Exception: (10) gtrace ? 

```

My operating system is Windows10

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [December 6, 2023, 8:18am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/2 "2023-12-06T08:18:15Z")

</div>

I do use SWI-Prolog with Windows, VSCode and use gtrace. However I do not use gtrace within VSCode I use gtrace by starting the Prolog code with SWI-Prolog from the command line to open a Prolog top level then use gtrace.

Don’t know if anyone has been able to get gtrace to work with VSCode but it has been discussed before.

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [December 6, 2023, 8:47am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/3 "2023-12-06T08:47:40Z")

</div>

> [@EySword](#):
>
> My operating system is Windows10

You might get away by loading the GUI connector:

```
 ?- [swi('swipl-win.rc')].

```

No idea whether it works with VSCode. It used to only work with `swipl-win.exe`, but these days it works to some extend for `swipl.exe` as well.

---

<div class="post-metadata">

**Author:** ![EySword](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/eysword/32/5992_2.png) [@EySword](https://swi-prolog.discourse.group/u/EySword)\
**Post date:** [December 6, 2023, 8:50am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/5 "2023-12-06T08:50:43Z")

</div>

> [@EySword](#):
>
> Thanks a lot!  
> It works after I type [swi(‘swipl-win.rc’)]. in terminal!

Thanks a lot!  
It works after I type [swi(‘swipl-win.rc’)]. in terminal!

---

<div class="post-metadata">

**Author:** ![anon419083](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Post date:** [December 6, 2023, 10:52am UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/6 "2023-12-06T10:52:45Z")

</div>

On a Mac I get this output:

```prolog
?- gtrace.
% The graphical front-end will be used for subsequent tracing
true.

[trace] ?- 

```

It automatically goes back to trace/0 🤔  
It’s strange because the graphical editor works fine…any clues? (BTW I like trace/0 so it’s of no importance at all, but just to understand what’s going on…)  
Thanks and congrats for the new xmas-bishop owl on the swi-prolog website 😂 😂

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [December 6, 2023, 1:38pm UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/7 "2023-12-06T13:38:57Z")

</div>

> [@anon419083](#):
>
> It automatically goes back to [trace/0](https://www.swi-prolog.org/pldoc/doc_for?object=trace/0) 🤔

Not sure it does. It says it loaded the GUI tracer and is now in trace mode. Normally, the next goal should appear in the graphical debugger. I normally use

```
 ?- gtrace, mygoal(....).

```

---

<div class="post-metadata">

**Author:** ![anon419083](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Post date:** [December 6, 2023, 1:43pm UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/8 "2023-12-06T13:43:01Z")

</div>

It works in this way 👍🏻 Thanks

---

<div class="post-metadata">

**Author:** ![anon419083](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Post date:** [December 6, 2023, 3:08pm UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/9 "2023-12-06T15:08:42Z")

</div>

BTW using for once the graphical debugger had the positive outcome that I “discovered” the Gertjan van Noord (is it a pen name which stands for you, Jan? Or is this guy a real person?) definition of the member/2 predicate. Youssou would have liked it, I guess, because it’s deterministic when it’s left with a one-element list as input. Thanks

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [December 6, 2023, 3:22pm UTC](https://swi-prolog.discourse.group/t/how-to-use-gtrace-in-vscode/7033/10 "2023-12-06T15:22:35Z")

</div>

> [@anon419083](#):
>
> Gertjan van Noord

Gertjan is this person: [Gertjan van Noord Home Page](https://www.let.rug.nl/vannoord/)
