On Sat, 2009-12-12 at 22:27 -0700, Carl Sorensen wrote: > Here's part of the backtrace: > > #4 0x000387f2 in Beaming_pattern::beamlet_count (this=0xa026a9c4, > i=-1608078908, d=DOWN) at beaming-pattern.cc:245 > #5 0x0002f565 in Beam::set_beaming (me=0x3615ce0, beaming=0x3616cd0) at > beam.cc:1341 > > > Here's some info from frame 5: > #5 0x0002f565 in Beam::set_beaming (me=0x3615ce0, beaming=0x3616cd0) at > beam.cc:1341 > 1341 int count = beaming->beamlet_count (i, d); > (gdb) p beaming > $4 = (const Beaming_pattern *) 0x3616cd0 > (gdb) p i > $5 = 1 > (gdb) p d > $6 = 56712592 > (gdb) p LEFT > $7 = DOWN > > And here's some info from frame 4: > (gdb) down > #4 0x000387f2 in Beaming_pattern::beamlet_count (this=0xa026a9c4, > i=-1608078908, d=DOWN) at beaming-pattern.cc:245 > 245 return infos_.at (i).beam_count_drul_[d]; > (gdb) > > > Here's my question: How can beaming be 0x3616cd0, i be 1, and d be 56712592 > in the calling routine, but then > > this is 0xa026a9c4, i is -1608078908, and d be DOWN in the called routine? > > This seems impossible to me. Any thoughts on how I might figure this out?
I have no idea, sorry. Sometimes I see weird stuff in gdb too, even if I compile without optimizing. If it always happens with the same variables and you really need to examine them, you can always just insert printf statements. Joe _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
