Hi, which debugger(s) would you recommend for debugging code with SSE2 and/or SSE3? (other than intel's, preferably win32)

And is there a list of SSE-only mnemonics other than intels with interleaved with other instructions?  (<-- just for printing/seeing all at once)

Posted on 2005-12-25 10:52:30 by inFinie
Olly debugger?
Posted on 2005-12-25 13:06:12 by Vortex
Maybe OllyDbg 2.0, yet to be released.
Posted on 2005-12-25 13:54:30 by inFinie
SoftICE supports SSE2
Posted on 2005-12-26 03:50:45 by k3Eahn
Intel's manual volume 1 has a list of all instruction grouped into: x86, fpu, MMX, SSE, SSE2, SSE3.

As for the SSE3 debugger: SSE3 are rarely used throughout the code, so you can stick to manually adding the instruction codes and testing it inside the ollydbg. OllySbg won't show the mnemonics for SSE3 instrucions, but will execute them normally and show the results.
Posted on 2005-12-26 20:39:30 by ti_mo_n
It is just that the disassembler module of Ollydbg does not handle SSE3, so I don't think there is a big issue debugging the SSE3 instructions.  ;)
Posted on 2005-12-27 02:05:21 by roticv
OllyDbg v1.10? From where can i see SSE and/or SSE2 registers? as packed dwords or packed singles or so on?
Posted on 2005-12-28 13:45:36 by inFinie
to enable ollydbg to decode sse register you have to check mark
options --> debugging options --> registers--> automatical decoding of sse mmx registers and also check mark decode sse registers

ollydbg at present uses code injection to decode those registers so use them with caution as it may some times lead to stall there is a very big thread in ollydbg forum name code injection errors just glance through it if you face any problems

well once you have check marked it you can cycle through by hittin the bar on top of
registers mdi window

fpu registers --> mmx registers --> sd now registers

a sample 3dnow data is as follows

EAX 00401000 OLLYDBG.<ModuleEntryPoint>
ECX 81629840
EDX 81629880
EBX 00680000
ESP 0078FE3C
EBP 0078FF78
ESI 81629820
EDI 00000000
EIP 00401000 OLLYDBG.<ModuleEntryPoint>
C 0  ES 016F 32bit 0(97A0)
P 1  CS 0167 32bit 0(FFFFFFFF)
A 0  SS 016F 32bit 0(97A0)
Z 0  DS 016F 32bit 0(97A0)
S 1  FS 0DAF 16bit 8161E370(37)
T 0  GS 0000 NULL
D 0
O 1  LastErr ERROR_INVALID_NAME (0000007B)
EFL 00000A86 (O,NB,NE,A,S,PE,GE,G)
MM0          0.0,          0.0
MM1          0.0,          0.0
MM2          0.0,          0.0
MM3          0.0,          0.0
MM4          0.0,          0.0
MM5          0.0,          0.0
MM6          0.0,          0.0
MM7          0.0,          0.0
XMM0          0.0,          0.0,          0.0,          0.0
XMM1          0.0,          0.0,          0.0,          0.0
XMM2          0.0,          0.0,          0.0,          0.0
XMM3          0.0,          0.0,          0.0,          0.0
XMM4          0.0,          0.0,          0.0,          0.0
XMM5          0.0,          0.0,          0.0,          0.0
XMM6          0.0,          0.0,          0.0,          0.0
XMM7          0.0,          0.0,          0.0,          0.0
            F R    P U O Z D I D P U O Z D I
            Z C    M M M M M M Z E E E E E E
MXCSR 1F80  0 NEAR 1 1 1 1 1 1 0 0 0 0 0 0 0
Posted on 2005-12-29 03:49:30 by bluffer
The point i am confused is that i think/couldn't find how to show sse registers as bytes,words,dwords,single and double, thanks again.
Posted on 2005-12-29 11:09:14 by inFinie
well i have not dabbled with sse whatever code
so may be you could post a small prototype binary loadable in ollydbg

then annotate a portion of its disassembly
mov tomycache,ssseqword olly now shows whereever from as byte i want to see it as qword :)
so that i can try finding out :)

but mostly you can find it out if you persistantly right click there proabably would be a
nice little easter egg context menu staring at you :) that would get you what you prefer :)
Posted on 2005-12-30 04:02:01 by bluffer
I think, currently the only decision to solve ur problem is to get a plugin for OllyDbg - you can look for it on the web or write it on ur own!
Posted on 2005-12-30 07:17:55 by k3Eahn