Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development
Suggest on the debugger plugin
ollydbg:
I haven't tested the debugger branch. so, I'm sorry if it is already exist.
See the image below:
Is it possible to show the EIP Pointer on the Disassembly windows, so that the user can understand which is the next instruction.
By the way, I'm debugging ptest project(in the CCbranch), i found that one wxString can not show correctly, see the image :
It seems gdb can not show a empty wxString correctly. Any ideas?
thanks.
ollydbg:
Things becomes more wired, see the screen shot, I just create another wxString ,but it seems only one wxString works fine...
I don't know why, it is too strange...
ollydbg:
I just check the DWARF information in the parserthread.o
by using:
--- Code: ---objdump -W parserthread.o >> aaaa.txt
--- End code ---
Then I have found that there are two entries for templateArgument in the debug information.
The source code is like:
--- Code: ---wxString ParserThread::ReadAncestorList()
{
wxString ccc;
wxString templateArgument;
wxString aaa;
aaa = m_Tokenizer.GetToken(); // eat ":"
templateArgument = aaa;
while (!TestDestroy())
{
//Peek the next token
wxString next = m_Tokenizer.PeekToken();
if (next.IsEmpty()
|| next==ParserConsts::opbrace
|| next==ParserConsts::semicolon ) // here, we are at the end of ancestor list
{
break;
}
else if (next==ParserConsts::lt) // class AAA : BBB < int, float >
{
wxString arg = SkipAngleBraces();
if(!arg.IsEmpty()) // find a matching <>
{
templateArgument<<arg;
}
else
{
TRACE(_T("Not Matching <> find. Error!!!") );
}
}
//check the returned Token is a simple Macro usage
wxString tmp = GetClassFromMacro(m_Tokenizer.GetToken());
//Handle Current token first
//Skip the public, protected and private keyword, we don't care them
if (tmp==ParserConsts::kw_public
||tmp==ParserConsts::kw_protected
||tmp==ParserConsts::kw_private )
{
continue;
}
else
{
templateArgument<<tmp;
}
}
TRACE(_T("ReadAncestorList() : Ancestors: ") + templateArgument);
return templateArgument;
}
--- End code ---
Then you can see, there is only one entry for wxString aaa, but two entry for wxString templateArgument.
Is it possible a bug in GCC?
I have just tested in TDM GCC 4.5 and Loaden GCC 4.4.4.
Both of them has bad information about "wxString templateArgument".
Any suggestions?
Thanks.
Edit:
It seems some thing related to "return variables", because when I use "aaa" as a return variable, then, the wxString aaa shows badly, at this time, the wxString templateArgument shows correctly.
see the image:
oBFusCATed:
I think, I've seen the marker of the EIP Pointer in the disassembly window, but I remember that others were complaining too.
Can you check the debuggers branch and report back?
ollydbg:
--- Quote from: oBFusCATed on July 09, 2010, 09:14:47 am ---I think, I've seen the marker of the EIP Pointer in the disassembly window, but I remember that others were complaining too.
Can you check the debuggers branch and report back?
--- End quote ---
I just tested, and there is not EIP pointer in debugger branch.
Navigation
[0] Message Index
[#] Next page
Go to full version