mirror of
https://github.com/beefytech/Beef.git
synced 2025-07-04 15:26:00 +02:00
Initial checkin
This commit is contained in:
parent
c74712dad9
commit
078564ac9e
3242 changed files with 1616395 additions and 0 deletions
88
IDEHelper/DbgSymSrv.h
Normal file
88
IDEHelper/DbgSymSrv.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
#pragma once
|
||||
|
||||
#include "BeefySysLib/Common.h"
|
||||
#include "BeefySysLib/util/Array.h"
|
||||
#include "BeefySysLib/util/String.h"
|
||||
#include "BeefySysLib/util/CritSect.h"
|
||||
#include "BeefySysLib/FileStream.h"
|
||||
#include "Debugger.h"
|
||||
#include "DebugManager.h"
|
||||
|
||||
namespace Beefy
|
||||
{
|
||||
class NetResult;
|
||||
}
|
||||
|
||||
NS_BF_DBG_BEGIN
|
||||
|
||||
class DbgSymSrv;
|
||||
|
||||
class DbgSymRequest
|
||||
{
|
||||
public:
|
||||
Beefy::CritSect mCritSect;
|
||||
DbgSymSrv* mDbgSymSrv;
|
||||
Beefy::DbgSymSrvOptions mOptions;
|
||||
|
||||
Beefy::String mModulePath;
|
||||
Beefy::String mPDBRequested;
|
||||
uint8 mWantGuid[16];
|
||||
int32 mWantAge;
|
||||
DWORD mLastUpdateTick;
|
||||
|
||||
Beefy::String mOutPath;
|
||||
Beefy::FileStream mOutFile;
|
||||
|
||||
Beefy::String mCurURL;
|
||||
Beefy::String mImagePath;
|
||||
Beefy::String mFinalPDBPath;
|
||||
Beefy::String mError;
|
||||
bool mFailed;
|
||||
bool mMayBeOld;
|
||||
bool mSearchingSymSrv;
|
||||
bool mCancelling;
|
||||
bool mInProcess;
|
||||
bool mIsPreCache;
|
||||
|
||||
public:
|
||||
DbgSymRequest();
|
||||
~DbgSymRequest();
|
||||
|
||||
bool CheckPEFile(const Beefy::StringImpl& filePath, uint32 fileTime, int size);
|
||||
|
||||
public:
|
||||
Beefy::String GetGuidString();
|
||||
Beefy::String GetPDBStoreDir();
|
||||
|
||||
void Fail(const Beefy::StringImpl& error);
|
||||
bool CheckPDBData(const Beefy::StringImpl& path, uint8 outGuid[16], int32& outAge);
|
||||
|
||||
bool Get(const Beefy::StringImpl& url, const Beefy::StringImpl& destPath, Beefy::NetResult** chainNetResult = NULL, bool ignoreSuccess = false);
|
||||
|
||||
void SearchLocal(); // Only search for in specified path and in module path
|
||||
void SearchCache(); // Fast, single directory targeted check
|
||||
|
||||
void SearchSymSrv(); // Slow - can access network
|
||||
Beefy::String SearchForImage(const Beefy::String& filePath, uint32 fileTime, int size); // Slow - can access network
|
||||
void Cancel();
|
||||
bool IsDone();
|
||||
};
|
||||
|
||||
class DbgSymSrv
|
||||
{
|
||||
public:
|
||||
Beefy::Debugger* mDebugger;
|
||||
|
||||
public:
|
||||
DbgSymSrv(Beefy::Debugger* debugger);
|
||||
|
||||
void PreCacheImage(const Beefy::String& filePath, uint32 fileTime, int size);
|
||||
|
||||
DbgSymRequest* CreateRequest(const Beefy::StringImpl& modulePath, const Beefy::StringImpl& pdbRequested, uint8 wantGuid[16], int32 wantAge);
|
||||
DbgSymRequest* CreateRequest();
|
||||
void ReleaseRequest(DbgSymRequest* dbgSymRequest);
|
||||
|
||||
void Update();
|
||||
};
|
||||
|
||||
NS_BF_DBG_END
|
Loading…
Add table
Add a link
Reference in a new issue