コード例 #1
0
SymbolType CompilerMain::GetType(YYSTYPE val)
{
	SymbolEntry * symbol = FindSymbolByName(QString::fromStdString(val));
	if(symbol!=NULL)
		return symbol->type;

	return Type_None;
}
コード例 #2
0
ファイル: Symbols.cpp プロジェクト: codereversing/debugger
const bool Symbols::SymbolFromAddress(const DWORD64 dwAddress, const SymbolInfo **pFullSymbolInfo)
{
    char pBuffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(char)] = { 0 };
    PSYMBOL_INFO pSymInfo = (PSYMBOL_INFO)pBuffer;

    pSymInfo->SizeOfStruct = sizeof(SYMBOL_INFO);
    pSymInfo->MaxNameLen = MAX_SYM_NAME;

    DWORD64 dwDisplacement = 0;
    const bool bSuccess = BOOLIFY(SymFromAddr(m_hProcess, dwAddress, &dwDisplacement, pSymInfo));
    if (!bSuccess)
    {
        fprintf(stderr, "Could not retrieve symbol from address %p. Error = %X.\n",
            (DWORD_PTR)dwAddress, GetLastError());
        return false;
    }

    fprintf(stderr, "Symbol found at %p. Name: %.*s. Base address of module: %p\n",
        (DWORD_PTR)dwAddress, pSymInfo->NameLen, pSymInfo->Name, (DWORD_PTR)pSymInfo->ModBase);

    *pFullSymbolInfo = FindSymbolByName(pSymInfo->Name);

    return bSuccess;
}
コード例 #3
0
void CompilerMain::SetTempType(QString name, SymbolType type)
{
	SymbolEntry* tempSymbol = FindSymbolByName(name);
	tempSymbol->type = type;
}