Closed loo66 closed 3 years ago
Good catch again. Works fine on 32 but not 64 bit. Change pTrace.e line 760 (two lines replaced):
--DEV 64-bit/see pdiagN.e
if nTyp=S_TVar then
tidx = ss[S_Tidx]
--o = getVal(ebp+tidx*4)
--o = getVal(ebp4*4+tidx*4)
o = getVal(ebp4*4+tidx*machine_word())
else
tidx = ss[S_Slink]
--o = getVal(static_base+tidx*4-4)
--o = getVal(ds4*4+tidx*4-4)
--o = getVal(ds4*4+tidx*4+16)
o = iff(machine_bits()=32?16:24)
o = getVal(ds4*4+tidx*machine_word()+o)
end if
and after recompiling (ie p -cp [or maybe p -c p64]) things should be much better. As you can see that code was simply never properly modified/tested for 64-bit.
Hi again,
another interesting one: I crashed with a traced source if I want to check a function parameter.
function with trace call:
then I want to see 'm' with '?' ... this gives a crash ...
Tried to simplify the case with this code:
doesn't crash but the output for the variables is c = 3 b = 8589934592 a = 2
Greetings Otto