Fragile IDL 8 Object Programs [message #73019] |
Mon, 25 October 2010 08:06  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Folks,
Is anyone else having this problem? I write a LOT of
IDL object programs. But I pretty much have to work
in IDL 7 to debug them. IDL 8 is so incredibly fragile
when an object crashes. I don't know if this is because
of the new memory management of objects or what. But
it's just really hard to work this way. Is it because
my widgets are objects and there is some bad interaction
between these two systems? Is it because I recompile after
an object has crashed and I fix the problem, so the cleanup
is confused? I don't know. Still looking for patterns and
solutions. :-(
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Fragile IDL 8 Object Programs [message #73118 is a reply to message #73019] |
Tue, 26 October 2010 12:34   |
R.G.Stockwell
Messages: 163 Registered: October 2004
|
Senior Member |
|
|
"Paulo Penteado" <pp.penteado@gmail.com> wrote in message
news:4e60de53-465a-44af-bedd-b87a88cde79d@j2g2000yqf.googleg roups.com...
> On Oct 25, 9:04 pm, Doug Edmundson <do...@ittvis.com> wrote:
>> If you press ctrl+shift+r then the workbench will open up the "Open
>> Resource" dialog. You can then type in the partial name of a .pro file
>> and all matches should show up in a list. Wildcards are accepted. The
>> location of the file is shown at the bottom. This makes it pretty handy
>> to quickly open a file when you don't quite remember its name or
>> location. Note that it searches open projects, not !path.
>>
>> Hope this makes someone happy. :)
>
> This feature has been making me happy since IDL 7 came out. I
> similarly like the option of auto opening files on compilation. One of
> these ways is how I always open a file. I never go to the file->open
> menu.
>
> My favorite (now hidden) shortcut on the editor is ctrl+q, to go to
> the last edit location. There used to be a button for it, but it
> disappeared on IDL 8. When I forget it, I have to resort to crtl+shift
> +l, for the list of shortcuts.
good tips. thanks.
btw, another thing I do on occasion: anyone remember when ctrl-D used to
open the file containing the selected routine? That is ctrl-F3 now.
In a hilarious twist, ctrl-D no longer opens the file of the routine, rather
it erases the whole line. lol.
cheers,
bob
PS the fingers are like elephants. they never forget.
|
|
|
|
|
|
|
Re: Fragile IDL 8 Object Programs [message #73149 is a reply to message #73019] |
Mon, 25 October 2010 14:33   |
R.G.Stockwell
Messages: 163 Registered: October 2004
|
Senior Member |
|
|
"David Fanning" <news@dfanning.com> wrote in message
news:MPG.272f4ac536998cd89897f6@news.giganews.com...
> Folks,
>
> Is anyone else having this problem? I write a LOT of
> IDL object programs. But I pretty much have to work
> in IDL 7 to debug them. IDL 8 is so incredibly fragile
> when an object crashes. I don't know if this is because
> of the new memory management of objects or what. But
> it's just really hard to work this way. Is it because
> my widgets are objects and there is some bad interaction
> between these two systems? Is it because I recompile after
> an object has crashed and I fix the problem, so the cleanup
> is confused? I don't know. Still looking for patterns and
> solutions. :-(
There is definitely something weird going on in IDL's cleanup. I am much
more of a
number cruncher than a widget maker, but when I debug some code and try to
keep
going, it almost always is messed up.
In fact, I now automatically type ctrl S ctrl I .f ctrl F8 F8 when I save
the current file,
without even thinking about it, because of the need to reset the session.
(though sometimes, an old ctrl w will find it's way into that sequence,
which causes me to
stare at the screen for a few moments wondering what happened. lol.
cheers,
bob
PS for you newcomers, ctrl w used to be the command to switch to the command
line from
the edit window. now, it closes the current editor window, which means I
have to go and search
my disks for the mysterious location of the file I was working on so I can
reopen it again.
|
|
|
|
|
Re: Fragile IDL 8 Object Programs [message #73184 is a reply to message #73019] |
Wed, 27 October 2010 15:39  |
rdh
Messages: 6 Registered: October 2009
|
Junior Member |
|
|
> Is anyone else having this problem? I write a LOT of
> IDL object programs. But I pretty much have to work
> in IDL 7 to debug them. IDL 8 is so incredibly fragile
> when an object crashes. I don't know if this is because
> of the new memory management of objects or what. But
> it's just really hard to work this way. Is it because
> my widgets are objects and there is some bad interaction
> between these two systems? Is it because I recompile after
> an object has crashed and I fix the problem, so the cleanup
> is confused? I don't know. Still looking for patterns and
> solutions. :-(
FYI, there is a known bug using heap variables with object graphics as
a result of IDL 8's new automatic garbage collection. Perhaps this is
related to what you are seeing?
Basically, IDL "cleans up" any heap variables that are created within
object graphics routines at random points, for our programs it happens
with IDLgrWindow->Draw(). I'm not sure if this is the only method
affected. The bug # is CR59955 and it is supposedly going to be fixed
in the next IDL 8 patch.
You can currently get around this problem by disabling garbage
collection with !null = heap_refcount(/DISABLE), or by using IDL 7.
Romy
|
|
|
Re: Fragile IDL 8 Object Programs [message #73191 is a reply to message #73019] |
Wed, 27 October 2010 10:24  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
R.G. Stockwell writes:
> I just think it is funny that the key commands change (first of all, WHY??)
> and it is even funnier that the "old" commands become so completely
> destructive
It would be even funnier if the new graphics commands
moved any IDL program that used the old graphics
commands out of the IDL path entirely!
That would get people moving in the right direction. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Fragile IDL 8 Object Programs [message #73192 is a reply to message #73019] |
Wed, 27 October 2010 10:08  |
R.G.Stockwell
Messages: 163 Registered: October 2004
|
Senior Member |
|
|
"Mark Piper" <mpiper@ittvis.com> wrote in message
news:90a9363e-a685-44f9-8c8f-5517c4351f1d@30g2000yql.googleg roups.com...
> On Oct 26, 1:34 pm, "R.G. Stockwell" <noem...@please.com> wrote:
>> good tips. thanks.
>>
>> btw, another thing I do on occasion: anyone remember when ctrl-D used to
>> open the file containing the selected routine? That is ctrl-F3 now.
>>
>> In a hilarious twist, ctrl-D no longer opens the file of the routine,
>> rather
>> it erases the whole line. lol.
>>
>> cheers,
>> bob
>>
>> PS the fingers are like elephants. they never forget.
>
> You can configure your own keybindings in the workbench preferences
> (through the preferences menu, or better, as Paolo suggests above, use
> Ctrl-Shift-L, twice). What's handy is that you can save your
> keybindings to a file. I've been saving/restoring the same file (and
> modifying it as I find new keybindings I'd like to map) since IDL 7.0.
>
> mp
Yeah, and I have considered this. I ended up choosing for mobility so I
could actually work on a different machine, or someone else's, without
quickly deleting all their lines of code and then closing the windows. lol.
I just think it is funny that the key commands change (first of all, WHY??)
and it is even funnier that the "old" commands become so completely
destructive. Presumably the current key shortcuts are something of a
standard across all development environments.
The only piece of me-specific stuff I carry around with me is windows
commander. I tend to install that everywhere I go, cause it is just such a
nice file manager.
cheers,
bob
|
|
|
Re: Fragile IDL 8 Object Programs [message #73202 is a reply to message #73118] |
Wed, 27 October 2010 06:34  |
Mark Piper
Messages: 198 Registered: December 2009
|
Senior Member |
|
|
On Oct 26, 1:34 pm, "R.G. Stockwell" <noem...@please.com> wrote:
> good tips. thanks.
>
> btw, another thing I do on occasion: anyone remember when ctrl-D used to
> open the file containing the selected routine? That is ctrl-F3 now.
>
> In a hilarious twist, ctrl-D no longer opens the file of the routine, rather
> it erases the whole line. lol.
>
> cheers,
> bob
>
> PS the fingers are like elephants. they never forget.
You can configure your own keybindings in the workbench preferences
(through the preferences menu, or better, as Paolo suggests above, use
Ctrl-Shift-L, twice). What's handy is that you can save your
keybindings to a file. I've been saving/restoring the same file (and
modifying it as I find new keybindings I'd like to map) since IDL 7.0.
mp
|
|
|
|