wuhailinjerry / edb-debugger

Automatically exported from code.google.com/p/edb-debugger
GNU General Public License v2.0
0 stars 0 forks source link

Show XMM0-15 and YMM0-15 registers in registers window #123

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
It would be good to see XMM & YMM registers in registers window.

Thanks

Original issue reported on code.google.com by t41...@gmail.com on 5 Feb 2014 at 6:10

GoogleCodeExporter commented 9 years ago
Preliminary support for this has been checked into the SVN. I still need to 
check for possible endian issue, but I *think* I got it right :-).

Let me know if you encounter any issues.

Thanks!

Original comment by evan.teran on 11 Feb 2014 at 3:42

GoogleCodeExporter commented 9 years ago
Hi Evan,

I just compiled the SVN revision 332 and I see no XMM register in the
registers window.
Did I miss something?

Thank you in advance

PS: would be good to add YMM registers to debug AVX/AVX2 code as well :)

Repository Root: http://edb-debugger.googlecode.com/svn
Repository UUID: 0e5a8416-ee0f-00cc-8024-a419571235d2
Revision: 332
Node Kind: directory
Schedule: normal
Last Changed Author: evan.teran@gmail.com
Last Changed Rev: 332
Last Changed Date: 2014-02-11 04:40:50 +0100 (mar, 11 feb 2014)

2014-02-11 4:42 GMT+01:00 <edb-debugger@googlecode.com>:

Original comment by t41...@gmail.com on 11 Feb 2014 at 6:23

GoogleCodeExporter commented 9 years ago
Which platform are you on? I added it to the linux build. I was only able to 
test on x86-64. Once i get a few more details about your setup, we should be 
able to work it out.

Original comment by evan.teran on 11 Feb 2014 at 8:42

GoogleCodeExporter commented 9 years ago
Hi Evan,

my platform is:

Linux LinuxMint 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC
2013 x86_64 x86_64 x86_64 GNU/Linux

Original comment by t41...@gmail.com on 11 Feb 2014 at 9:04

GoogleCodeExporter commented 9 years ago
OK, interesting. Could you check that edb is loading the plugins from the new 
build you did? Please go into the options and make sure that the plugins 
directory is pointing to where the latest builds plugins are.

Original comment by evan.teran on 12 Feb 2014 at 3:00

GoogleCodeExporter commented 9 years ago
Hi Evan,

yes, sorry, my fault! Plugin directory was not pointing correctly. Now, I
see those XMM registers :)

The only thing weird is the way that they are printed on screen.

Example:

Loading 4012A0 in RAX, the debugger shows:  RAX: 00000000004012a0
Loading 4012A0 in XMM0, it shows: XMM0 : a0124000000000000000000000000000

I think It should be displayed as XMM0 : 000000000000000000000000004012A0

Anyway, thanks a lot for this nice debugger.

Original comment by t41...@gmail.com on 12 Feb 2014 at 5:39

GoogleCodeExporter commented 9 years ago
OK, that seems to be an endianness issue. I don't do an awful lot of SSE 
programming lately, could you please send me a simple ASM snippet which will 
load XMM0 with a constant such as 0x00112233445566778899aabbccddeeff (or 
something like that) so I can correctly get the endian correct.

That would be very helpful.

Original comment by evan.teran on 12 Feb 2014 at 7:04

GoogleCodeExporter commented 9 years ago
Hi Evan,

the attached file will load 0x7766554433221100 to R8, then
0xffeeddccbbaa9988 to R9 and finally it will load
0xffeeddccbbaa99887766554433221100 to
XMM0. The program was assembled with FASM.

Hope this helps!

Regars

2014-02-12 20:04 GMT+01:00 <edb-debugger@googlecode.com>:

Original comment by t41...@gmail.com on 12 Feb 2014 at 8:23

GoogleCodeExporter commented 9 years ago
That sounds like exactly what I would need to ensure the endian-ness is 
correct. Are you sure you attached the file? I can't exclude the possibility 
that I'm just not seeing it (google's issue tracker is relatively new to me), 
but I don't see it :-(.

Original comment by evan.teran on 13 Feb 2014 at 7:56

GoogleCodeExporter commented 9 years ago
Also regarding the YMM registers. My core disassembler doesn't support AVX yet, 
so it would probably be best to create a new ticket for general AVX support in 
the edb. It'll be easier for me to track the issues then :-).

Original comment by evan.teran on 13 Feb 2014 at 7:59

GoogleCodeExporter commented 9 years ago
Hi Evan,

umm, let's try with google drive attachments

 xmm_load.tar.bz2<https://docs.google.com/file/d/0B9XXm5yHZwhjUUo3eUxCSzZPY1k1MHE1MFYzdWE5LUJEd3M0/edit?usp=drive_web>

Original comment by t41...@gmail.com on 13 Feb 2014 at 8:09

GoogleCodeExporter commented 9 years ago
I believe that it is now correct in the SVN trunk. Please let me know how it 
goes. Thanks again for your help, the example program you sent me allowed me to 
test the results perfectly!

Original comment by evan.teran on 14 Feb 2014 at 8:33

GoogleCodeExporter commented 9 years ago
yes, it seems correct to me :)

Original comment by t41...@gmail.com on 15 Feb 2014 at 2:21