1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Win32 debugging fixes, more work on custom compile commands

Fixed working dir for 'launch'
Fixed attaching to process - stack trace wasn't updating properly
Fixed more custom compile stuff, and BeefySysLib bin destination
Fixed linking issues related to Bfp* and Bp* exports in both BeefRT and BeefySysLib
Fixed a crash with conditional breakpoints
Fixed release mode IDE issues (related to hot swap breakpoints)
Fixed hotswapping type data with LLVM builds
Fixed 'Pause' state processing Running_ToTempBreakpoint for ScriptManager
Fixed Win32 step out when there's an ESP adjustment at the return site
Made step-out skip over "unimportant" instructions at return site
This commit is contained in:
Brian Fiete 2019-08-29 14:19:07 -07:00
parent 09016c8dc0
commit a367b8165f
60 changed files with 1131 additions and 1065 deletions

View file

@ -687,7 +687,7 @@ int BeCOFFObject::DbgGetTypeId(BeDbgType* dbgType, bool doDefine)
outT.Write(*(int16*)&attr);
outT.Write(func->mCvTypeId);
if (isVirt)
outT.Write((int32)func->mVIndex);
outT.Write((int32)func->mVIndex * mBeModule->mContext->mPointerSize);
DbgEncodeString(outT, func->mName);
memberCount++;
DbgTAlign();

View file

@ -93,6 +93,8 @@ BePointerType* BeContext::GetPointerTo(BeType* beType)
void BeContext::SetStructBody(BeStructType* structType, const SizedArrayImpl<BeType*>& types, bool packed)
{
BF_ASSERT(structType->mMembers.IsEmpty());
int dataPos = 0;
for (auto& beType : types)
{

View file

@ -914,7 +914,7 @@ void BeIRCodeGen::HandleNextCmd()
}
break;
case BfIRCmd_StructSetBody:
{
{
CMD_PARAM(BeType*, type);
CMD_PARAM(CmdParamVec<BeType*>, members);
CMD_PARAM(bool, isPacked);

View file

@ -2972,8 +2972,10 @@ BeFunction* BeModule::CreateFunction(BeFunctionType* funcType, BfIRLinkageType l
func->mLinkageType = linkageType;
func->mParams.Resize(funcType->mParams.size());
mFunctions.push_back(func);
#ifdef _DEBUG
BF_ASSERT(mFunctionMap.TryAdd(name, func));
// It IS possible hit this, especially if we have multiple intrinsics mapping to 'malloc' for example
//BF_ASSERT(mFunctionMap.TryAdd(name, func));
#endif
return func;
}