本文整理汇总了C++中debugger函数的典型用法代码示例。如果您正苦于以下问题:C++ debugger函数的具体用法?C++ debugger怎么用?C++ debugger使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debugger函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: debugger
const SudokuField::field&
SudokuField::_FieldAt(uint32 x, uint32 y) const
{
if (x >= fSize || y >= fSize)
debugger("field outside bounds");
return fFields[x + y * fSize];
}
示例2: loop
// The loop function is called in an endless loop
void loop()
{
if(serialCommand!=0){
debugger();
serialCommand = 0;
}
delay(1);
}
示例3: atomic_add
void AmSafeDelete::DecRefs() const
{
int32 last = atomic_add(&fRefCount, -1);
if (last == 1 && fDeleted) const_cast<AmSafeDelete*>(this)->RealDelete();
else if (last < 1) {
debugger("AmSafeDelete reference count went below zero");
}
}
示例4: strcat
void i860_cpu_device::handle_trap(UINT32 savepc) {
static char buffer[256];
buffer[0] = 0;
strcat(buffer, "TRAP");
if(m_flow & TRAP_NORMAL) strcat(buffer, " [Normal]");
if(m_flow & TRAP_IN_DELAY_SLOT) strcat(buffer, " [Delay Slot]");
if(m_flow & TRAP_WAS_EXTERNAL) strcat(buffer, " [External]");
if(!(GET_PSR_IT() || GET_PSR_FT() || GET_PSR_IAT() || GET_PSR_DAT() || GET_PSR_IN()))
strcat(buffer, " >Reset<");
else {
if(GET_PSR_IT()) strcat(buffer, " >Instruction Fault<");
if(GET_PSR_FT()) strcat(buffer, " >Floating Point Fault<");
if(GET_PSR_IAT()) strcat(buffer, " >Instruction Access Fault<");
if(GET_PSR_DAT()) strcat(buffer, " >Data Access Fault<");
if(GET_PSR_IN()) strcat(buffer, " >Interrupt<");
}
if(!(m_single_stepping) && !((GET_PSR_IAT() || GET_PSR_DAT() || GET_PSR_IN())))
debugger('d', buffer);
if(m_dim)
Log_Printf(LOG_WARN, "[i860] Trap while DIM %s pc=%08X m_flow=%08X", buffer, savepc, m_flow);
/* If we need to trap, change PC to trap address.
Also set supervisor mode, copy U and IM to their
previous versions, clear IM. */
if(m_flow & TRAP_WAS_EXTERNAL) {
if (GET_PC_UPDATED()) {
m_cregs[CR_FIR] = m_pc;
} else {
m_cregs[CR_FIR] = savepc + 4;
}
}
else if (m_flow & TRAP_IN_DELAY_SLOT) {
m_cregs[CR_FIR] = savepc + 4;
}
else
m_cregs[CR_FIR] = savepc;
m_flow |= FIR_GETS_TRAP;
SET_PSR_PU (GET_PSR_U ());
SET_PSR_PIM (GET_PSR_IM ());
SET_PSR_U (0);
SET_PSR_IM (0);
SET_PSR_DIM (0);
SET_PSR_DS (0);
m_save_flow = m_flow & DIM_OP;
m_save_dim = m_dim;
m_save_cc = m_dim_cc;
m_save_cc_valid = m_dim_cc_valid;
m_dim = DIM_NONE;
m_dim_cc = false;
m_dim_cc_valid = false;
m_pc = 0xffffff00;
}
示例5: debugger
// NOTE: Set actual address, not contents of sp (esp on 6502)
void ECPU8Bit::setStack(ULONG location)
{
ULONG val=(location-stackBase)&stackMask;
//DEBUG_OUT<<"val="<<val<<" location="<<location<<" stackMask="<<stackMask<<" stackBase="<<stackBase<<"\n";
sp=val;
if(((sp&stackMask)+stackBase)!=location) {
debugger("ECPU8Bit::setStack attempted to set out of range value");
}
}
示例6:
void CScriptEngine::stopDebugger ()
{
if (debugger()){
xr_delete (m_scriptDebugger);
Msg ("Script debugger succesfully stoped.");
}
else
Msg ("Script debugger not present.");
}
示例7: debugger
void OCamlWatch::updateWatches()
{
variables_p->clear();
for (QList<Watch>::Iterator itWatch = _watches.begin() ; itWatch != _watches.end() ; ++itWatch )
{
itWatch->uptodate = false;
emit debugger( DebuggerCommand( command( *itWatch ), DebuggerCommand::HIDE_ALL_OUTPUT ) );
}
}
示例8: SprayEvent
void
BMidiLocalProducer::SpraySystemRealTime(uchar status,
bigtime_t time) const
{
if (status >= B_TIMING_CLOCK)
SprayEvent(&status, 1, true, time);
else
debugger("invalid real time status");
}
示例9: switch
void EArm::cause_int(ULONG value)
{
int_pending=0;
switch(value) {
default:
debugger("Illegal interrupt requested!\n");
break;
}
}
示例10: debugger
void PeepsWindow::RemovePerson(PersonData *person)
{
if(!person)
return;
// TODO: Implement PeepsWindow::RemovePerson
debugger("PeepsWindow::RemovePerson() unimplemented");
}
示例11: IsTypeMatch
bool
IsTypeMatch(const BMessage &test, const entry_ref &ref)
{
BString value;
if (test.FindString("value",&value) != B_OK)
{
debugger("Couldn't get value in IsTypeMatch");
return false;
}
//if (value == "image/")
// debugger("");
BString compare;
if (test.FindString("mode",&compare) != B_OK)
{
debugger("Couldn't get mode in IsTypeMatch");
return false;
}
BString string;
attr_info info;
BNode node(&ref);
if (node.InitCheck() != B_OK)
return false;
if (node.GetAttrInfo("BEOS:TYPE",&info) != B_OK)
{
BPath path(&ref);
if (update_mime_info(path.Path(),0,1,0) != B_OK)
return false;
}
if (node.ReadAttrString("BEOS:TYPE",&string) != B_OK)
return false;
bool result = StringCompare(value,string.String(),compare.String(),true);
printf("\tType test: %s %s %s - %s\n",ref.name,compare.String(),value.String(),
result ? "MATCH" : "NO MATCH");
return result;
}
示例12: PIDRegulate
/*
void Omni4WD::delayMS(unsigned int ms,unsigned int slot,bool debug) {
for(int i=0;i<ms;i+=slot) {
PIDRegulate();
if(debug && (i%500==0)) debugger();
delay(slot);
}
}
*/
void Omni4WD::delayMS(unsigned int ms,bool debug,unsigned char* actBreak) { // 201209
for(unsigned long endTime=millis()+ms;millis()<endTime;)
{
if(actBreak) return;
PIDRegulate();
if(debug && (millis()%500==0)) debugger();
if(endTime-millis()>=SAMPLETIME) delay(SAMPLETIME);
else delay(endTime-millis());
}
}
示例13: fSettings
DesktopSettings::DesktopSettings(Desktop* desktop)
:
fSettings(desktop->fSettings)
{
#if DEBUG
if (!desktop->fWindowLock.IsWriteLocked()
&& !desktop->fWindowLock.IsReadLocked())
debugger("desktop not locked when trying to access settings");
#endif
}
示例14: ir_return
void ir_return(nodeType* n)
{
if(n->opr.nops != 0)
{
nodeType* return_exp = get_operand(n,0);
generate(return_exp);
}
debugger("ret \n");
fprintf(output,"ret \n");
}
示例15: error
void error(const char *fmt, ...) {
va_list va;
va_start(va, fmt);
gui_console_printf("Error (%06X): ", asic.cpu->registers.PC);
gui_console_vprintf(fmt, va);
gui_console_printf("\n");
va_end(va);
debugger(DBG_EXCEPTION, 0);
cpu_events |= EVENT_RESET;
}