Home AMX User Forum NetLinx Studio

Structures and debug

What is it about viewing structures in debug that makes the NS or the master choke and loose coms with each other. I thought it was a memory issue on my office NI-3100 which is loaded with way too much crap but it also happens on the office NX-2200 with barely any program at all. Simple, small structures can usually work but anything that justifies using structures always drops the connection and it's very annoying.

Comments

  • a_riot42a_riot42 Posts: 1,624
    vining wrote: »
    What is it about viewing structures in debug that makes the NS or the master choke and loose coms with each other. I thought it was a memory issue on my office NI-3100 which is loaded with way too much crap but it also happens on the office NX-2200 with barely any program at all. Simple, small structures can usually work but anything that justifies using structures always drops the connection and it's very annoying.

    I use structures all the time and often view them in the debugger, and haven't seen what you are referring to. I keep my structures fairly simple, since I think there are memory controller issues with large structs, especially large, multi-nested structs.
    Paul
  • ericmedleyericmedley Posts: 4,177
    I find that debug seems to have a fairly low threshold of pain. It seems to have less to do with structures per se and more to do with how much stuff you're trying to watch. If I try and watch 10+ "things" it seems to be more prone to crashiness. Or if one or two of those thigns are updating a lot or if the text of something is particularly long; these kinds of things cause mine to crash. There also seems to be some threshold of size that either allows you to or denies you to change values on the fly. Changing a simple integer variable's value on the fly is no problem. But, try and change something in a structure or large array and it errors out.
  • viningvining Posts: 4,368
    I don't seem to have issue viewing a dozen or so variables but as soon as I drop in a large structure, some times even small ones the connection between NS and the master crashes. These particular structures are tied to a large JSON response/unsolicited response so now to avoid the crash when working on this module I installed a variable to block RX data from being processed and that allows me to go through the structures. I set the variable to block further processing of RX data and then put my structures back into debug and view what I need, then I remove those structures, clear the blocking flag, wash and repeat. It's really annoying but manageable except for the fact that I'm just watching a snapshot it time not live processing.

    I use large structures all the time and AFAIK the only problem I have with them is debugging which is probably just too much data that needs to flow between the master and NS. It does often make me want to use simple arrays but that defeats the purpose.
Sign In or Register to comment.