papa@pollux.usc.edu (Marco Papa) (07/08/89)
OK. I've my foot in my mounth :-) I must have been drinking beer too much lately (I started again at DevCon '89). Anyway, Aztec's SDB DOES have a memory watchpoint command, though admittedly is the most primitive of all. The syntax is: >be ADDR (!= \ == [VAL]) So to monitor when a variable gets changed, you need to enter the initial value, as in: >be myarray[5] != 5 Or you might also set up a break when a variable reaches a particular value, as in: >be myarray[5] == 6 SDB does not call them "memory change Breakpoints" as in Aztec's DB, but instead calls them "expression change" breakpoints. This is what I call the simplest type of memory-breakpoint. Lattice's CodeProbe provides much more functionality for what they call "watch breaks": 1. you can set them on variables 2. you can set them on ranges (like the first 10 items of an array) 3. you can set them on structs and arrays by name (meaning the entire aggegate) 4. you can set them on formal parameters 5. you can set them on automatic variables 6. you can set them on ranges that are "dynamic", i.e. between the value of an automatic variable and a static one, for example, with the former changeable at run time. As far as I can gather, Aztec's SDB supports only no. 1 of the above. BTW, my current programs are still in MANX, but the support that Lattice is putting into their products vs the un-support provided by MANX (not one update since Feb. 88 and MANX 5.0 delayed until next fall, if at all)) is getting myself and other "commercials" on BIX to serioously considering switching to Lattice. My humble apologies for being so abnoxious. -- Marco Papa 'Doc' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= uucp:...!pollux!papa BIX:papa ARPAnet:pollux!papa@oberon.usc.edu "There's Alpha, Beta, Gamma, Diga and Caligari!" -- Rick Unland -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ddave@pnet02.cts.com (David Donley) (07/12/89)
papa@pollux.usc.edu (Marco Papa) writes: >OK. I've my foot in my mounth :-) I must have been drinking beer too much >lately (I started again at DevCon '89). Anyway, Aztec's SDB DOES have a >memory watchpoint command, though admittedly is the most primitive of >all. The syntax is: > >>be ADDR (!= \ == [VAL]) > >So to monitor when a variable gets changed, you need to enter the initial >value, as in: > >>be myarray[5] != 5 > >Or you might also set up a break when a variable reaches a particular value, >as in: > >>be myarray[5] == 6 > >SDB does not call them "memory change Breakpoints" as in Aztec's DB, but >instead calls them "expression change" breakpoints. > >This is what I call the simplest type of memory-breakpoint. Lattice's >CodeProbe provides much more functionality for what they call "watch breaks": > >1. you can set them on variables >2. you can set them on ranges (like the first 10 items of an array) >3. you can set them on structs and arrays by name (meaning the entire aggegate) >4. you can set them on formal parameters >5. you can set them on automatic variables >6. you can set them on ranges that are "dynamic", i.e. between the value >of an automatic variable and a static one, for example, with the former >changeable at run time. > >As far as I can gather, Aztec's SDB supports only no. 1 of the above. > >BTW, my current programs are still in MANX, but the support that Lattice is >putting into their products vs the un-support provided by MANX (not one update >since Feb. 88 and MANX 5.0 delayed until next fall, if at all)) is getting >myself and other "commercials" on BIX to serioously considering switching >to Lattice. > >My humble apologies for being so abnoxious. > >-- Marco Papa 'Doc' >-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >uucp:...!pollux!papa BIX:papa ARPAnet:pollux!papa@oberon.usc.edu >"There's Alpha, Beta, Gamma, Diga and Caligari!" -- Rick Unland >-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= MANX is not that primative... You can put any equation you want in there, and it will evaluate it. It's not just a simple "Memory change breakpoint"