# Debugging Container-Based Designer Modules

**URL:** <https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035>\
**Category:** Module Development\
**Tags:** ignition83\
**Created:** [February 18, 2026, 3:12pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035 "2026-02-18T15:12:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 3:12pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/1 "2026-02-18T15:12:02Z")

</div>

I’m looking for guidance on debugging modules in containers.

I have an 8.3.3 gateway (port 8089) running in a container with modules that I’d like to debug in IntelliJ.  
Note that I also have an 8.1 gateway (port 8088) running directly on my computer.

When launching the debugger from IntelliJ, it does start the designer from the correct gateway and allow me to run tests from the script console.

I can set breakpoints in IntelliJ, but it never stops at them, not even in the DesignerHook’s startup(…).

Here’s the services section from the .yml file:

```yaml
services:
  gateway:
    <<: *ignition-opts
    hostname: gateway
    ports:
      - 8089:8088
      - 8001:8000
    command: >
      -n Ignition-standard
      -m ${GATEWAY_MAX_MEMORY:-4096}
      -r /restore.gwbk
      -a gateway.localtest.me
      -h 8088
      -s 8043
      --
      wrapper.java.additional.1=-Ddata.dir=data
      wrapper.java.additional.2=--add-opens=java.base/java.lang=ALL-UNNAMED
      wrapper.java.additional.3=--add-opens=java.base/java.io=ALL-UNNAMED
      wrapper.java.additional.4=--add-opens=java.base/java.security.cert=ALL-UNNAMED
      wrapper.java.additional.5=--add-opens=java.base/java.util=ALL-UNNAMED
      wrapper.java.additional.6=--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
      wrapper.java.additional.7=--add-opens=java.base/sun.nio.fs=ALL-UNNAMED
      wrapper.java.additional.8=--add-opens=java.base/java.lang.ref=ALL-UNNAMED
      wrapper.java.additional.9=-Xdebug
      wrapper.java.additional.10=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
      wrapper.java.additional.11=-Dignition.allowunsignedmodules=true
      wrapper.java.additional.12=-Dia.developer.moduleupload=true
    environment:
      GATEWAY_NETWORK_REQUIRESSL: false
      GATEWAY_NETWORK_SECURITYPOLICY: SpecifiedList
      GATEWAY_NETWORK_WHITELIST: Ignition-gatewayr-backup,Ignition-standard-backup
    volumes:
      - gateway-data:/usr/local/bin/ignition/data
      - ./gw-backup:/backup
      - ./gw-init/base.gwbk:/restore.gwbk
      - ./gw-init/gateway-${COMPOSE_PROFILES:-independent}.xml:/usr/local/bin/ignition/data/redundancy.xml

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 18, 2026, 3:52pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/2 "2026-02-18T15:52:22Z")

</div>

Are you trying to debug in the Designer scope or the Gateway scope? What does your IntelliJ launch config look like?

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 5:15pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/3 "2026-02-18T17:15:52Z")

</div>

Designer scope.

IntelliJ debugger config:

JDK:  
`java temurin-17`

module/classpath:  
`-cp designer-launcher`

vm/cli options:  
`-Dignition.gateway.addr.0=localhost:8089 -Dignition.main=com.inductiveautomation.ignition.designer.DesignerStartupHook -Dignition.client.debug=true -Dautologin.username=admin -Dautologin.password=password -Dproject.name=dummy -Dignition.runtimeOverride=true -Dignition.version=dev -Dignition.client.logLevel=INFO @client-designer-args.txt`

main method classpath:  
`com.inductiveautomation.ignition.client.launch.BootstrapSwing`

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 18, 2026, 5:41pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/4 "2026-02-18T17:41:17Z")

</div>

> [@james.vosler](#):
>
> module/classpath:  
> `-cp designer-launcher`

What's this? Is the module you want to breakpoint in also on this classpath? A dependency of this project?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 18, 2026, 6:31pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/5 "2026-02-18T18:31:22Z")

</div>

~~How do you expect your debugger to hook to the designer if you're not passing any debug args to the designer?~~

~~You're passing the gateway a flag opening port 8000 to serve the Java debug wire protocol:  
 `wrapper.java.additional.10=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000`~~

~~But have no corresponding entry for the designer. It's a separate JVM/process, therefore needs its own instruction to serve JDWP on an open port.~~

I think Kevin's right, and while you need the JDWP instructions IntelliJ should be adding them to the command line automatically...

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 18, 2026, 6:34pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/6 "2026-02-18T18:34:12Z")

</div>

That would be if he's trying to _attach_ to a Designer he didn't launch himself out of the IDE, no?

I read this as he's launching the Designer process from the IDE...

clarification needed I guess.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 7:39pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/7 "2026-02-18T19:39:25Z")

</div>

1. ‘designer-launcher’ is a Maven in the project that we are debugging.
2. Do you have an updated link for this document from the wayback machine?  
[Debugging in IntelliJ - Ignition SDK Programmer's Guide - Ignition Documentation](https://web.archive.org/web/20210614095128/https://docs.inductiveautomation.com/display/SE/Debugging+in+IntelliJ/)
3. It may be that I’m attached to a designer launcher process instead of the designer. I’m not sure how to tell. In the above, out-of-date document, there’s several instructions about scadarail VM options to set for debugging the designer. I have been assured by @Robert_McIlvenna that the settings do allow him to hit breakpoints in his projects that are running in his local gateway (not in a container). So, maybe a copy-paste issue, maybe we missed a step.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 7:56pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/8 "2026-02-18T19:56:03Z")

</div>

Yes, IntelliJ launches the designer when I click the debug button.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 8:10pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/9 "2026-02-18T20:10:38Z")

</div>

fwiw - This is a scripting module. We’re just calling the methods from the designer scripting console to test/debug the rpc interface. The functions work when called from gateway scope in a perspective event.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 18, 2026, 10:04pm UTC](https://forum.inductiveautomation.com/t/debugging-container-based-designer-modules/114035/10 "2026-02-18T22:04:00Z")

</div>

We found it: Don’t delegate runner actions to Maven:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/e/9e530663d4fbef51932ac81cdbdaa846454fbf58.png)

Even though it was telling us we had valid breakpoints, we think it was attached to something else.  
Turned this off and all the breakpoints work.
