User forums > Using Code::Blocks

Features in Windows Debugger CDB running VS2010 compiler

(1/2) > >>

tigerbeard:
Hi
Using Relelase 15.12 on Win7, x64 I configured the 32-bit version of compiler and debugger from Windows SDK 7.1. for use in CodeBlocks. For testing I set up a default console application Hello World which worked fine.

I am aware that GDB support is more advanced as CBD, but I have not found anything on the actual limitations of the current debugger plugin for CDB. Forum seaches seem to ignoe the term "CDB", so I might have missed key posts. I did not see anything in the wiki. I found the following posts about CDB:
 http://forums.codeblocks.org/index.php/topic,7331.msg55775.html#msg55775
 http://forums.codeblocks.org/index.php/topic,8454.msg62299.html#msg62299
 http://forums.codeblocks.org/index.php/topic,16885.msg134940.html#msg134940

I extended HelloWold with a class with two variables and a member function. Also I adde a string, int and
float.

The stepping worked very well. The watches are different to the gdb:
 - Locals are listed, but seem not to do anything, even when I step into the class
 - the class shows "Unexpected token '<'EOL>'. It can be unfolded and correctly shows the value
   of the two int member vars as "0n1" and "0n2" instead of "1" and "2". I can not change the display
   to Decimal.
 - The string shows "Parsing CDB output failed for "strName". In the debug log I can not see the
  string content, indeed. When I unfold the string line I can see the values _Mproxy, _Bx, _Mysize,
   _Myres and _Alval. The Size value shows the correct length
 - The int variable is shown with the correct value, but output as "0n4" instead "4". Via context
   menu I can open properties and set the base to decimal, but nothing changes.

I checked the logger output for general errors and found the following:
 - Symbol file could not be found. Defaultet to export symbols for ntdll.dll
 - Warning: unable to veriy checksum for <Executable name>
 - Warning: Stack unwind information not available Following Frames may be wrong
    [...]
 - virtual void CDB_driver::MemoryDump(): not implemented in driver

I do not have the feeling the errors are really related, but I am not sure. I did not install the symbol files for the OS, indeed. Since the pdb for the executable is available I understand that those symbold are not
required for this simple case. Again, that may be a wrong assumption...


My question is wether or not that is the actual status of the plugin? 
Second, I would expect for CDB there is no matching thing for pretty-printers in GDB, is there?


Tiger


oBFusCATed:
Can you post the code and a full log (check the debugger settings) from a debug session?
Most of the features in cdb are not implemented (locals for example).
The watches parsing should work for some basic things, but probably there is a change in the output in the cdb you're using (this is a guess).

Also there is another debugger plugin that integrates cdb, probably it works better, but I've not tried it.
Also I don't spend much time on windows, so I'm not really working on cdb support.
But patches are welcome.

oBFusCATed:
Obviously one of the linked topics points to this: https://sourceforge.net/projects/debuggercdb/

tigerbeard:

--- Quote from: oBFusCATed on March 08, 2016, 08:18:45 pm ---Also there is another debugger plugin that integrates cdb, probably it works better, but I've not tried it.

--- End quote ---

Oh. I did see that of course, but was under the impression that this got merged into the CDB plugin. If there are two separate things, I understand now, why there were talking about patches. I'm not really good at this, so please forgive me if its a stupid question. If I would want to try it out I would need to download the source, apply those patches from the other thread (or merg the other source manually) and then compile C::B?
I am probably not a good enough programmer to continue that, but I think the cdb plugin seem little used which is sad since it has great potential. Are your aware of any technical reason (i mean aside manpower) for not merging the 2 approaches or switching to the more complete version of the two?.

oBFusCATed:
This is a separate plugin. You need to compile only this plugin.

Probably this link http://wiki.codeblocks.org/index.php/Linking_the_plugin_to_a_Nightly_Build might help.
But I don't know if the plugin will compile cleanly with the latest changes to cb.

Navigation

[0] Message Index

[#] Next page

Go to full version