Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

DDD-like watches

<< < (7/10) > >>

oBFusCATed:

--- Quote from: m.29 on March 17, 2011, 02:31:49 pm ---But I plan to add functionality that allows assign variable to array. Variable that store the array size. If there is realloc in program, it would be good to assign variable storing the size of array and this array will have correct size whole time. Now I must every time change size in context menu according to new reallocated size. In my school C::B is used as additional teaching aid and this could be good for beginners but not only for them.

--- End quote ---
I'm not sure I understand what you are talking about, but it sounds like something uses, at least in the C++ world.
Also this seems like a task for the real debugger (GDB/CDB), not the debugger front end (C::B).

Edit: uses, should have been useless... :(

oBFusCATed:

--- Quote from: m.29 on March 17, 2011, 02:31:49 pm ---1) I don't like waiting and I did some test. Here is relevant screen. As you can see from log, structure type would be HWND__* and value 0x0000000. But it is wrong in the watches window. For similar class is everything fine.

--- End quote ---
In SVN, with some modifications to the tests (you've not run them!)  :lol:

oBFusCATed:

--- Quote from: oBFusCATed on March 15, 2011, 11:24:01 pm ---3. If it works, OK, I'll give it a try...

--- End quote ---
Still broken here :(


--- Quote ---> whatis output
Attempt to take contents of a non-pointer value.
>>>>>>cb_gdb:
> output output
(const wxString &) @0x7fffffffb5f0: {
  <wxStringBase> = {
    m_pchData = 0x1ef5e18 L"Reading symbols from /home/obfuscated/projects/tests/_cb_cc/call_tip/bin/debug/call_tip...done."
  }, <No data fields>}>>>>>>cb_gdb:

--- End quote ---

Put a breakpoint in GDB_Driver::ParseOutput and add the parameter output in the watches...

oBFusCATed:

--- Quote from: m.29 on March 14, 2011, 10:06:38 pm ---4) In GdbCmd_FindWatchType class there was "whatis &" instead of "whatis " string used to finding type of watch and then tmp.substr(0, tmp.length() - 1); used to removing last "*". But this was bad for arrays or functions:

* int (*)[4] -> int (*)[4
* int (*)(int) -> int (*)(int
* ...
--- End quote ---
This should be fixed in svn, can you test it?

m.29:
Pointers on structures in CDB is good now. But tests in debuggergdb_test_parser_cdb.cpp are wrong. Results would be t*=0x123456 instead of t=0x123456, because of inputs are pointers.

GdbCmd_FindWatchType gives correct types. Thanks. I wrote different patch for it. Next time I will faster :)


--- Quote from: oBFusCATed on March 17, 2011, 03:24:43 pm ---I'm not sure I understand what you are talking about, but it sounds like something useless, at least in the C++ world.
Also this seems like a task for the real debugger (GDB/CDB), not the debugger front end (C::B).
--- End quote ---
Yes, it's really task for GDB and GDB supports it. It is called Array slices. I tried to find similar functionality in CDB debugger, but I think it is not implemented there.

Sorry for my late answers - I was busy by my another school projects.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version