# Moved from one development build to another and now graphical debugger can't find sources

**URL:** <https://swi-prolog.discourse.group/t/moved-from-one-development-build-to-another-and-now-graphical-debugger-cant-find-sources/3801>\
**Category:** Help!\
**Created:** [April 6, 2021, 7:04pm UTC](https://swi-prolog.discourse.group/t/moved-from-one-development-build-to-another-and-now-graphical-debugger-cant-find-sources/3801 "2021-04-06T19:04:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericzinda](https://avatars.discourse-cdn.com/v4/letter/e/b3f665/32.png) [@ericzinda](https://swi-prolog.discourse.group/u/ericzinda)\
**Post date:** [April 6, 2021, 7:04pm UTC](https://swi-prolog.discourse.group/t/moved-from-one-development-build-to-another-and-now-graphical-debugger-cant-find-sources/3801/1 "2021-04-06T19:04:48Z")

</div>

I just moved to the latest development build: 8.3.22\_1 from an older one: 8.3.22 this morning and the project I’ve been using is having trouble setting breakpoints using `Prolog/Break At` in the graphical debugger. Some predicates successfully set breakpoints and others just say “failed to set breakpoint” in the graphical debugger status bar.

I’m also noticing that, as I step through in the debugger, it is not consistently finding source files and just showing decompiled source sometimes.

It seems like both might be due to trouble finding sources?

I tried `Tool/Clear Source Cache` from the graphical debugger and it still doesn’t work.

Any ideas?

---

<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:** [April 7, 2021, 3:42pm UTC](https://swi-prolog.discourse.group/t/moved-from-one-development-build-to-another-and-now-graphical-debugger-cant-find-sources/3801/2 "2021-04-07T15:42:35Z")

</div>

The messages “failed to set breakpoint” and the debugger showing decompiled code are strongly related. Both tell you that relating the compiled code to the source doesn’t work. I’m a little surprised as I don’t think the current version is any any worse than the old. Well, there may be one exception: the new “moved unification”

```prolog
p(X) :- X = f(Y), ....

```

Is simply rewritten as

```
p(f(Y)) :- ...

```

I think that is not yet dealt with by the debugger. Could that be the issue?

---

<div class="post-metadata">

**Author:** ![ericzinda](https://avatars.discourse-cdn.com/v4/letter/e/b3f665/32.png) [@ericzinda](https://swi-prolog.discourse.group/u/ericzinda)\
**Post date:** [April 7, 2021, 5:50pm UTC](https://swi-prolog.discourse.group/t/moved-from-one-development-build-to-another-and-now-graphical-debugger-cant-find-sources/3801/3 "2021-04-07T17:50:56Z")

</div>

Possibly. Turns out I do use the pattern of `foo(XArg) :- arg(X, Meta) = XArg` quite a bit in this project because I felt like it made this ugly pattern I need for carrying metadata easier to read.

I’ve been using `Prolog/Spy` as a workaround for now.

Here is an example of a place where I used to be able to set a breakpoint: by putting the cursor right before `task_be_v_there__ex` and choosing `Prolog/Break at`. In the latest build that doesn’t work:

```prolog
task_be_v_there__ex(EventIDArg, Context) :- arg(_, _) = EventIDArg, htnMethod([], Context,
    if([
        getContext(abduce),
        argStructure(EventIDArg, [tree(req, idTarget, []), tree(opt, idStativeEvent, [])]),
        d_be_v_there__ex(EventIDArg, WhatIDArg, arg(eval, term)), arg(WhatID, _) = WhatIDArg,
        getPropertyValue(abd, WhatID, _, idAbductible, true),
        isInstance(WhatID)
    ]),
    do([opMessage(description, WhatID), moveAbductibleInstances([WhatID])]) ).

```
