mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Debugger fixes
Removing some debugger remote-requests
This commit is contained in:
parent
c2d086fe8e
commit
a32d18d962
21 changed files with 198 additions and 638 deletions
|
@ -12,6 +12,7 @@
|
||||||
#include "BeefySysLib/util/Deque.h"
|
#include "BeefySysLib/util/Deque.h"
|
||||||
#include "BeefySysLib/util/HashSet.h"
|
#include "BeefySysLib/util/HashSet.h"
|
||||||
#include "BeefySysLib/util/MultiHashSet.h"
|
#include "BeefySysLib/util/MultiHashSet.h"
|
||||||
|
#include "CrashCatcher.h"
|
||||||
|
|
||||||
//#include <mmsystem.h>
|
//#include <mmsystem.h>
|
||||||
//#include <shellapi.h>
|
//#include <shellapi.h>
|
||||||
|
|
|
@ -48,19 +48,17 @@ namespace System.IO
|
||||||
return .Ok;
|
return .Ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Result<void> DelTree(StringView path)
|
public static Result<void, Platform.BfpFileResult> DelTree(StringView path)
|
||||||
{
|
{
|
||||||
if (path.Length <= 2)
|
if (path.Length <= 2)
|
||||||
return .Err;
|
return .Err(.InvalidParameter);
|
||||||
if ((path[0] != '/') && (path[0] != '\\'))
|
if ((path[0] != '/') && (path[0] != '\\'))
|
||||||
{
|
{
|
||||||
if (path[1] == ':')
|
if (path[1] == ':')
|
||||||
{
|
{
|
||||||
if (path.Length < 3)
|
if (path.Length < 3)
|
||||||
return .Err;
|
return .Err(.InvalidParameter);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
return .Err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var fileEntry in Directory.EnumerateDirectories(path))
|
for (var fileEntry in Directory.EnumerateDirectories(path))
|
||||||
|
|
|
@ -548,6 +548,7 @@
|
||||||
<OutputFile>$(SolutionDir)\IDE\dist\$(TargetName).dll</OutputFile>
|
<OutputFile>$(SolutionDir)\IDE\dist\$(TargetName).dll</OutputFile>
|
||||||
<ImportLibrary>$(SolutionDir)\IDE\dist\$(TargetName).lib</ImportLibrary>
|
<ImportLibrary>$(SolutionDir)\IDE\dist\$(TargetName).lib</ImportLibrary>
|
||||||
<ModuleDefinitionFile>BeefRT.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>BeefRT.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">
|
||||||
|
|
|
@ -7,4 +7,4 @@ StartupObject = "DocPrep.Program"
|
||||||
[Configs.Debug.Win64]
|
[Configs.Debug.Win64]
|
||||||
TargetDirectory = "$(WorkspaceDir)/../../IDE/dist"
|
TargetDirectory = "$(WorkspaceDir)/../../IDE/dist"
|
||||||
OtherLinkFlags = "$(LinkFlags) IDEHelper64_d.lib"
|
OtherLinkFlags = "$(LinkFlags) IDEHelper64_d.lib"
|
||||||
DebugCommandArguments = "c:\\beef\\BeefLibs\\corlib\\_test c:\\beef\\hugo\\temp"
|
DebugCommandArguments = "c:\\beef\\BeefLibs\\corlib\\src c:\\temp\\beefdocs"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "CrashCatcher.h"
|
#include "CrashCatcher.h"
|
||||||
#include "../util/CritSect.h"
|
#include "../util/CritSect.h"
|
||||||
|
#include "../util/Dictionary.h"
|
||||||
|
|
||||||
USING_NS_BF;
|
USING_NS_BF;
|
||||||
|
|
||||||
|
@ -593,6 +594,13 @@ static String ImageHelpWalk(PCONTEXT theContext, int theSkipCount)
|
||||||
|
|
||||||
CONTEXT ctx = *theContext;
|
CONTEXT ctx = *theContext;
|
||||||
|
|
||||||
|
struct ModuleInfo
|
||||||
|
{
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
Dictionary<String, ModuleInfo> moduleInfoMap;
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#ifdef BF64
|
#ifdef BF64
|
||||||
|
@ -635,7 +643,11 @@ static String ImageHelpWalk(PCONTEXT theContext, int theSkipCount)
|
||||||
|
|
||||||
HANDLE hProcess = GetCurrentProcess();
|
HANDLE hProcess = GetCurrentProcess();
|
||||||
|
|
||||||
if (gSymGetSymFromAddr(hProcess, sf.AddrPC.Offset, &symDisplacement, pSymbol))
|
bool forceFail = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if ((gSymGetSymFromAddr(hProcess, sf.AddrPC.Offset, &symDisplacement, pSymbol)) && (!forceFail))
|
||||||
{
|
{
|
||||||
char aUDName[256];
|
char aUDName[256];
|
||||||
gUnDecorateSymbolName(pSymbol->Name, aUDName, 256,
|
gUnDecorateSymbolName(pSymbol->Name, aUDName, 256,
|
||||||
|
@ -676,6 +688,13 @@ static String ImageHelpWalk(PCONTEXT theContext, int theSkipCount)
|
||||||
uintptr section = 0, offset = 0;
|
uintptr section = 0, offset = 0;
|
||||||
|
|
||||||
GetLogicalAddress((PVOID)sf.AddrPC.Offset, szModule, sizeof(szModule), section, offset);
|
GetLogicalAddress((PVOID)sf.AddrPC.Offset, szModule, sizeof(szModule), section, offset);
|
||||||
|
|
||||||
|
ModuleInfo* moduleInfo = NULL;
|
||||||
|
if (moduleInfoMap.TryAdd(szModule, NULL, &moduleInfo))
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
aDebugDump += StrFormat("%@ %@ %04X:%@ %s\r\n", sf.AddrFrame.Offset, sf.AddrPC.Offset, section, offset, GetFileName(szModule).c_str());
|
aDebugDump += StrFormat("%@ %@ %04X:%@ %s\r\n", sf.AddrFrame.Offset, sf.AddrPC.Offset, section, offset, GetFileName(szModule).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ TargetDirectory = "$(WorkspaceDir)/dist"
|
||||||
TargetName = "BeefIDE_d2"
|
TargetName = "BeefIDE_d2"
|
||||||
OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib BeefySysLib64_d.lib wsock32.lib"
|
OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib BeefySysLib64_d.lib wsock32.lib"
|
||||||
BeefLibType = "DynamicDebug"
|
BeefLibType = "DynamicDebug"
|
||||||
DebugCommandArguments = "-workspace=c:\\beef_website\\samples\\SpaceGame"
|
DebugCommandArguments = "-workspace=c:\\beef\\ide\\mintest"
|
||||||
DebugWorkingDirectory = "$(ProjectDir)\\dist"
|
DebugWorkingDirectory = "$(ProjectDir)\\dist"
|
||||||
EnvironmentVars = ["_NO_DEBUG_HEAP=1"]
|
EnvironmentVars = ["_NO_DEBUG_HEAP=1"]
|
||||||
|
|
||||||
|
|
|
@ -174,68 +174,22 @@ namespace Hey.Dude.Bro
|
||||||
return 111;
|
return 111;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void TestA()
|
||||||
|
{
|
||||||
|
int* a = null;
|
||||||
|
*a = 123;
|
||||||
|
}
|
||||||
|
|
||||||
public static int Main(String[] args)
|
public static int Main(String[] args)
|
||||||
{
|
{
|
||||||
int* iPtr = null;
|
|
||||||
*iPtr = 123;
|
|
||||||
|
|
||||||
Blurg.Hey();
|
Blurg.Hey();
|
||||||
|
|
||||||
/*while (true)
|
for (int i < 100)
|
||||||
{
|
{
|
||||||
int a = 0;
|
PrintF("Hello 2!\n");
|
||||||
|
Thread.Sleep(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
int* iPtr = null;
|
|
||||||
*iPtr = 123;*/
|
|
||||||
|
|
||||||
GC.SetAutoCollectPeriod(20);
|
|
||||||
Thread.Sleep(1000);
|
|
||||||
|
|
||||||
String str = scope .("Boops!");
|
|
||||||
int len = str.GetLength();
|
|
||||||
|
|
||||||
GetVal();
|
|
||||||
|
|
||||||
Thread thread = scope .(new => Thread);
|
|
||||||
thread.Start(false);
|
|
||||||
|
|
||||||
//Thread.Sleep(500);
|
|
||||||
|
|
||||||
//Test2(1, 2, 3, 4);
|
|
||||||
|
|
||||||
thread.Join();
|
|
||||||
|
|
||||||
RunLong();
|
|
||||||
|
|
||||||
|
|
||||||
str.Append("Hey yo!\nHey what's up\nHeef neef.\nSnoggles!");
|
|
||||||
|
|
||||||
str.Append(
|
|
||||||
"""
|
|
||||||
Hey, this is a bad ass string
|
|
||||||
Yep yep
|
|
||||||
What up!
|
|
||||||
""");
|
|
||||||
|
|
||||||
Color clr = (.)123;
|
|
||||||
|
|
||||||
int64 l;
|
|
||||||
|
|
||||||
Florf fl = .();
|
|
||||||
|
|
||||||
for (int j < 100)//zzz
|
|
||||||
{
|
|
||||||
fl.Goof();
|
|
||||||
|
|
||||||
for (int i < 1000000000L)
|
|
||||||
{
|
|
||||||
int a = 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//PrintF("%ld\n", foo((int32*)&l, &l));
|
|
||||||
//return foo((int32*)&l, &l);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2509,6 +2509,15 @@ namespace IDE
|
||||||
{
|
{
|
||||||
scope AutoBeefPerf("IDE.WorkspaceLoaded");
|
scope AutoBeefPerf("IDE.WorkspaceLoaded");
|
||||||
|
|
||||||
|
if (!Environment.IsFileSystemCaseSensitive)
|
||||||
|
{
|
||||||
|
// Make sure we have the correct actual path
|
||||||
|
String newPath = new String();
|
||||||
|
Path.GetActualPathName(mWorkspace.mDir, newPath);
|
||||||
|
delete mWorkspace.mDir;
|
||||||
|
mWorkspace.mDir = newPath;
|
||||||
|
}
|
||||||
|
|
||||||
List<String> platforms = scope List<String>();
|
List<String> platforms = scope List<String>();
|
||||||
platforms.Add(IDEApp.sPlatform32Name);
|
platforms.Add(IDEApp.sPlatform32Name);
|
||||||
platforms.Add(IDEApp.sPlatform64Name);
|
platforms.Add(IDEApp.sPlatform64Name);
|
||||||
|
@ -6052,6 +6061,7 @@ namespace IDE
|
||||||
|
|
||||||
SourceHash hash = default;
|
SourceHash hash = default;
|
||||||
int hashPos = filePath.IndexOf('#');
|
int hashPos = filePath.IndexOf('#');
|
||||||
|
bool checkForOldFileInfo = false;
|
||||||
if (hashPos != -1)
|
if (hashPos != -1)
|
||||||
{
|
{
|
||||||
let hashStr = StringView(filePath, hashPos + 1);
|
let hashStr = StringView(filePath, hashPos + 1);
|
||||||
|
@ -6083,20 +6093,28 @@ namespace IDE
|
||||||
if (hashKind == .None)
|
if (hashKind == .None)
|
||||||
hashKind = .MD5;
|
hashKind = .MD5;
|
||||||
|
|
||||||
LoadTextFile(filePath, fileText, false, scope [&] () => { hash = SourceHash.Create(hashKind, fileText); }).IgnoreError();
|
LoadTextFile(filePath, fileText, false, scope [&] () => { fileHash = SourceHash.Create(hashKind, fileText); }).IgnoreError();
|
||||||
|
|
||||||
if (fileHash != hash)
|
if (fileHash != hash)
|
||||||
{
|
checkForOldFileInfo = true;
|
||||||
String outFileInfo = scope String();
|
}
|
||||||
mDebugger.GetStackFrameOldFileInfo(mDebugger.mActiveCallStackIdx, outFileInfo);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!File.Exists(filePath))
|
||||||
|
checkForOldFileInfo = true;
|
||||||
|
}
|
||||||
|
|
||||||
var args = outFileInfo.Split!('\n');
|
if (checkForOldFileInfo)
|
||||||
if (args.Count == 3)
|
{
|
||||||
{
|
String outFileInfo = scope String();
|
||||||
filePath.Set(args[0]);
|
mDebugger.GetStackFrameOldFileInfo(mDebugger.mActiveCallStackIdx, outFileInfo);
|
||||||
loadCmd = scope:: String(args[1]);
|
|
||||||
}
|
var args = outFileInfo.Split!('\n');
|
||||||
}
|
if (args.Count == 3)
|
||||||
|
{
|
||||||
|
filePath.Set(args[0]);
|
||||||
|
loadCmd = scope:: String(args[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1291,8 +1291,19 @@ namespace IDE
|
||||||
if (!mProjectPath.IsEmpty)
|
if (!mProjectPath.IsEmpty)
|
||||||
{
|
{
|
||||||
mProjectDir.Clear();
|
mProjectDir.Clear();
|
||||||
mProjectPath.Set(path);
|
mProjectPath.Clear();
|
||||||
IDEUtils.FixFilePath(mProjectPath);
|
|
||||||
|
if (!Environment.IsFileSystemCaseSensitive)
|
||||||
|
{
|
||||||
|
Path.GetActualPathName(path, mProjectPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mProjectPath.IsEmpty)
|
||||||
|
{
|
||||||
|
mProjectPath.Set(path);
|
||||||
|
IDEUtils.FixFilePath(mProjectPath);
|
||||||
|
}
|
||||||
|
|
||||||
Path.GetDirectoryPath(mProjectPath, mProjectDir);
|
Path.GetDirectoryPath(mProjectPath, mProjectDir);
|
||||||
if (structuredData.Load(ProjectFileName) case .Err)
|
if (structuredData.Load(ProjectFileName) case .Err)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -17,6 +17,7 @@ using IDE.Debugger;
|
||||||
using IDE.Compiler;
|
using IDE.Compiler;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using IDE.util;
|
using IDE.util;
|
||||||
|
using Beefy2D.utils;
|
||||||
|
|
||||||
namespace IDE.ui
|
namespace IDE.ui
|
||||||
{
|
{
|
||||||
|
@ -94,10 +95,6 @@ namespace IDE.ui
|
||||||
{
|
{
|
||||||
if (tabbedView.mIsFillWidget)
|
if (tabbedView.mIsFillWidget)
|
||||||
gApp.mActiveDocumentsTabbedView = tabbedView;
|
gApp.mActiveDocumentsTabbedView = tabbedView;
|
||||||
else
|
|
||||||
{
|
|
||||||
NOP!();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var sourceEditWidgetContent = (SourceEditWidgetContent)mEditWidgetContent;
|
var sourceEditWidgetContent = (SourceEditWidgetContent)mEditWidgetContent;
|
||||||
|
@ -365,6 +362,7 @@ namespace IDE.ui
|
||||||
public int32 mClassifiedTextVersionId;
|
public int32 mClassifiedTextVersionId;
|
||||||
public bool mLoadFailed;
|
public bool mLoadFailed;
|
||||||
String mOldVerLoadCmd ~ delete _;
|
String mOldVerLoadCmd ~ delete _;
|
||||||
|
HTTPRequest mOldVerHTTPRequest ~ delete _;
|
||||||
IDEApp.ExecutionInstance mOldVerLoadExecutionInstance ~ { if (_ != null) _.mAutoDelete = true; };
|
IDEApp.ExecutionInstance mOldVerLoadExecutionInstance ~ { if (_ != null) _.mAutoDelete = true; };
|
||||||
SourceFindTask mSourceFindTask ~ delete _;
|
SourceFindTask mSourceFindTask ~ delete _;
|
||||||
bool mWantsFastClassify;
|
bool mWantsFastClassify;
|
||||||
|
@ -3142,13 +3140,19 @@ namespace IDE.ui
|
||||||
|
|
||||||
CloseHeader();
|
CloseHeader();
|
||||||
|
|
||||||
mPanelHeader = new PanelHeader();
|
|
||||||
if (mOldVerLoadCmd == null)
|
if (mOldVerLoadCmd == null)
|
||||||
mOldVerLoadCmd = new String(loadCmd);
|
mOldVerLoadCmd = new String(loadCmd);
|
||||||
|
|
||||||
|
if (loadCmd.StartsWith("http", .OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
LoadOldVer();
|
||||||
|
return;
|
||||||
|
}
|
||||||
// For testing a long command...
|
// For testing a long command...
|
||||||
//mOldVerLoadCmd.Set("/bin/sleep.exe 10");
|
//mOldVerLoadCmd.Set("/bin/sleep.exe 10");
|
||||||
|
|
||||||
|
mPanelHeader = new PanelHeader();
|
||||||
|
|
||||||
String fileName = scope String();
|
String fileName = scope String();
|
||||||
Path.GetFileName(mFilePath, fileName);
|
Path.GetFileName(mFilePath, fileName);
|
||||||
String headerStr = scope String();
|
String headerStr = scope String();
|
||||||
|
@ -3191,9 +3195,18 @@ namespace IDE.ui
|
||||||
|
|
||||||
void LoadOldVer()
|
void LoadOldVer()
|
||||||
{
|
{
|
||||||
Debug.Assert(mOldVerLoadExecutionInstance == null);
|
if (mOldVerLoadCmd.StartsWith("http", .OrdinalIgnoreCase))
|
||||||
mOldVerLoadExecutionInstance = gApp.DoRun(null, mOldVerLoadCmd, gApp.mInstallDir, .None);
|
{
|
||||||
mOldVerLoadExecutionInstance.mAutoDelete = false;
|
DeleteAndNullify!(mOldVerHTTPRequest);
|
||||||
|
mOldVerHTTPRequest = new HTTPRequest();
|
||||||
|
mOldVerHTTPRequest.GetFile(mOldVerLoadCmd, mFilePath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Assert(mOldVerLoadExecutionInstance == null);
|
||||||
|
mOldVerLoadExecutionInstance = gApp.DoRun(null, mOldVerLoadCmd, gApp.mInstallDir, .None);
|
||||||
|
mOldVerLoadExecutionInstance.mAutoDelete = false;
|
||||||
|
}
|
||||||
|
|
||||||
CloseHeader();
|
CloseHeader();
|
||||||
|
|
||||||
|
@ -3208,7 +3221,12 @@ namespace IDE.ui
|
||||||
var button = mPanelHeader.AddButton("Cancel");
|
var button = mPanelHeader.AddButton("Cancel");
|
||||||
button.mOnMouseClick.Add(new (evt) =>
|
button.mOnMouseClick.Add(new (evt) =>
|
||||||
{
|
{
|
||||||
mOldVerLoadExecutionInstance.Cancel();
|
if (mOldVerLoadExecutionInstance != null)
|
||||||
|
mOldVerLoadExecutionInstance.Cancel();
|
||||||
|
if (mOldVerHTTPRequest != null)
|
||||||
|
{
|
||||||
|
DeleteAndNullify!(mOldVerHTTPRequest);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
button = mPanelHeader.AddButton("Always Run");
|
button = mPanelHeader.AddButton("Always Run");
|
||||||
button.mOnMouseClick.Add(new (evt) =>
|
button.mOnMouseClick.Add(new (evt) =>
|
||||||
|
@ -5376,6 +5394,15 @@ namespace IDE.ui
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mOldVerHTTPRequest != null)
|
||||||
|
{
|
||||||
|
let result = mOldVerHTTPRequest.GetResult();
|
||||||
|
if (result != .NotDone)
|
||||||
|
{
|
||||||
|
RetryLoad();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
UpdateMouseover();
|
UpdateMouseover();
|
||||||
|
|
||||||
var compiler = ResolveCompiler;
|
var compiler = ResolveCompiler;
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include "BeefySysLib/Util/PerfTimer.h"
|
#include "BeefySysLib/Util/PerfTimer.h"
|
||||||
#include "BeefySysLib/Util/Dictionary.h"
|
#include "BeefySysLib/Util/Dictionary.h"
|
||||||
#include "BeefySysLib/Util/BeefPerf.h"
|
#include "BeefySysLib/Util/BeefPerf.h"
|
||||||
|
#include "BeefySysLib/platform/PlatformHelper.h"
|
||||||
#include "WinDebugger.h"
|
#include "WinDebugger.h"
|
||||||
#include "MiniDumpDebugger.h"
|
#include "MiniDumpDebugger.h"
|
||||||
#include "Linker/BlHash.h"
|
#include "Linker/BlHash.h"
|
||||||
|
@ -6327,13 +6328,43 @@ String COFF::GetOldSourceCommand(const StringImpl& path)
|
||||||
if (!matches)
|
if (!matches)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
String& target = defs["SRCSRVTRG"];
|
||||||
|
String& cmd = defs["SRCSRVCMD"];
|
||||||
|
String& env = defs["SRCSRVENV"];
|
||||||
|
|
||||||
|
_Expand(target);
|
||||||
|
_Expand(cmd);
|
||||||
|
_Expand(env);
|
||||||
|
|
||||||
String retVal;
|
String retVal;
|
||||||
retVal = defs["SRCSRVTRG"];
|
if ((cmd.IsEmpty()) && (target.StartsWith("HTTP", StringImpl::CompareKind_OrdinalIgnoreCase)))
|
||||||
retVal += "\n";
|
{
|
||||||
retVal += defs["SRCSRVCMD"];
|
String localFile;
|
||||||
retVal += "\n";
|
|
||||||
retVal += defs["SRCSRVENV"];
|
BfpFileResult result;
|
||||||
_Expand(retVal);
|
BFP_GETSTR_HELPER(localFile, result, BfpFile_GetTempPath(__STR, __STRLEN, &result));
|
||||||
|
int dotPos = target.IndexOf("://");
|
||||||
|
if (dotPos != -1)
|
||||||
|
{
|
||||||
|
localFile.Append("SymbolCache\\src\\");
|
||||||
|
localFile.Append(StringView(target, dotPos + 3));
|
||||||
|
localFile.Replace("/", "\\");
|
||||||
|
}
|
||||||
|
|
||||||
|
retVal = localFile;
|
||||||
|
retVal += "\n";
|
||||||
|
retVal += target;
|
||||||
|
retVal += "\n";
|
||||||
|
retVal += env;
|
||||||
|
}
|
||||||
|
else if (!cmd.IsWhitespace())
|
||||||
|
{
|
||||||
|
retVal = target;
|
||||||
|
retVal += "\n";
|
||||||
|
retVal += cmd;
|
||||||
|
retVal += "\n";
|
||||||
|
retVal += env;
|
||||||
|
}
|
||||||
|
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
#include "Profiler.h"
|
#include "Profiler.h"
|
||||||
#include "DebugManager.h"
|
#include "DebugManager.h"
|
||||||
//#include <Winternl.h>
|
|
||||||
//::NtQuerySystemInformation();
|
|
||||||
#include <mmsystem.h>
|
#include <mmsystem.h>
|
||||||
|
|
||||||
//#include <ntstatus.h>
|
|
||||||
#include <ntsecapi.h> // UNICODE_STRING
|
#include <ntsecapi.h> // UNICODE_STRING
|
||||||
|
|
||||||
#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004
|
#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004
|
||||||
|
@ -120,7 +116,7 @@ static SYSTEM_PROCESS_INFORMATION* CaptureProcessInfo()
|
||||||
ntdll = GetModuleHandle(path);
|
ntdll = GetModuleHandle(path);
|
||||||
if (ntdll == NULL)
|
if (ntdll == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
NtQuerySystemInformation = (NtQuerySystemInformation_t) GetProcAddress(ntdll, "NtQuerySystemInformation");
|
NtQuerySystemInformation = (NtQuerySystemInformation_t)GetProcAddress(ntdll, "NtQuerySystemInformation");
|
||||||
|
|
||||||
uint allocSize = 1024;
|
uint allocSize = 1024;
|
||||||
uint8* data = NULL;
|
uint8* data = NULL;
|
||||||
|
@ -180,9 +176,6 @@ void DbgProfiler::ThreadProc()
|
||||||
const int maxStackTrace = 1024;
|
const int maxStackTrace = 1024;
|
||||||
addr_target stackTrace[maxStackTrace];
|
addr_target stackTrace[maxStackTrace];
|
||||||
|
|
||||||
// Index zero is invalid
|
|
||||||
//mProfileAddrEntries.push_back(NULL);
|
|
||||||
|
|
||||||
DWORD prevSampleTick = timeGetTime();
|
DWORD prevSampleTick = timeGetTime();
|
||||||
uint32 accumMS = 0;
|
uint32 accumMS = 0;
|
||||||
|
|
||||||
|
@ -222,7 +215,6 @@ void DbgProfiler::ThreadProc()
|
||||||
DWORD startTick0 = timeGetTime();
|
DWORD startTick0 = timeGetTime();
|
||||||
idleThreadSet.Clear();
|
idleThreadSet.Clear();
|
||||||
|
|
||||||
//SYSTEM_PROCESS_INFORMATION* processData = CaptureProcessInfo();
|
|
||||||
SYSTEM_PROCESS_INFORMATION* processData = NULL;
|
SYSTEM_PROCESS_INFORMATION* processData = NULL;
|
||||||
std::unique_ptr<SYSTEM_PROCESS_INFORMATION> ptrDelete(processData);
|
std::unique_ptr<SYSTEM_PROCESS_INFORMATION> ptrDelete(processData);
|
||||||
|
|
||||||
|
@ -585,7 +577,7 @@ void DbgProfiler::HandlePendingEntries()
|
||||||
}
|
}
|
||||||
ProfileProcId* procId = NULL;
|
ProfileProcId* procId = NULL;
|
||||||
|
|
||||||
auto subProgram = mDebugger->mDebugTarget->FindSubProgram(addr);
|
auto subProgram = mDebugger->mDebugTarget->FindSubProgram(addr, DbgOnDemandKind_LocalOnly);
|
||||||
while (stackTraceProcIdx < maxStackTrace)
|
while (stackTraceProcIdx < maxStackTrace)
|
||||||
{
|
{
|
||||||
if (subProgram != NULL)
|
if (subProgram != NULL)
|
||||||
|
@ -604,7 +596,7 @@ void DbgProfiler::HandlePendingEntries()
|
||||||
{
|
{
|
||||||
String symbolName;
|
String symbolName;
|
||||||
addr_target symbolOffset = 0;
|
addr_target symbolOffset = 0;
|
||||||
if ((!mDebugger->mDebugTarget->FindSymbolAt(addr, &symbolName, &symbolOffset)) || (symbolOffset > 64 * 1024))
|
if ((!mDebugger->mDebugTarget->FindSymbolAt(addr, &symbolName, &symbolOffset, NULL, false)) || (symbolOffset > 64 * 1024))
|
||||||
{
|
{
|
||||||
auto dbgModule = mDebugger->mDebugTarget->FindDbgModuleForAddress(addr);
|
auto dbgModule = mDebugger->mDebugTarget->FindDbgModuleForAddress(addr);
|
||||||
if (dbgModule != NULL)
|
if (dbgModule != NULL)
|
||||||
|
@ -647,90 +639,12 @@ void DbgProfiler::Process()
|
||||||
|
|
||||||
int time = mTotalActiveSamplingMS;
|
int time = mTotalActiveSamplingMS;
|
||||||
|
|
||||||
// const int maxStackTrace = 1024;
|
|
||||||
// ProfileProcId* procStackTrace[maxStackTrace];
|
|
||||||
//
|
|
||||||
// bool reverse = false;
|
|
||||||
|
|
||||||
BF_ASSERT(mProfileAddrEntries.IsEmpty());
|
BF_ASSERT(mProfileAddrEntries.IsEmpty());
|
||||||
|
|
||||||
mProfileAddrEntries.Resize(mProfileAddrEntrySet.size() + 1);
|
mProfileAddrEntries.Resize(mProfileAddrEntrySet.size() + 1);
|
||||||
for (auto& val : mProfileAddrEntrySet)
|
for (auto& val : mProfileAddrEntrySet)
|
||||||
mProfileAddrEntries[val.mEntryIdx] = &val;
|
mProfileAddrEntries[val.mEntryIdx] = &val;
|
||||||
|
|
||||||
// for (int i = 0; i < (int)mProfileAddrEntries.size(); i++)
|
|
||||||
// mProfileAddrToProcMap.push_back(-1);
|
|
||||||
|
|
||||||
// for (int addrEntryIdx = 0; addrEntryIdx < (int)mProfileAddrEntries.size(); addrEntryIdx++)
|
|
||||||
// {
|
|
||||||
// const ProfileAddrEntry* addrEntry = mProfileAddrEntries[addrEntryIdx];
|
|
||||||
// if (addrEntry == NULL)
|
|
||||||
// continue;
|
|
||||||
//
|
|
||||||
// ProfileProcId** procStackTraceHead = reverse ? (procStackTrace + maxStackTrace) : procStackTrace;
|
|
||||||
// int stackTraceProcIdx = 0;
|
|
||||||
// for (int addrIdx = 0; addrIdx < addrEntry->mSize; addrIdx++)
|
|
||||||
// {
|
|
||||||
// addr_target addr = addrEntry->mData[addrIdx];
|
|
||||||
// if (addrIdx > 0)
|
|
||||||
// {
|
|
||||||
// // To reference from SourcePC (calling address, not return address)
|
|
||||||
// addr--;
|
|
||||||
// }
|
|
||||||
// ProfileProcId* procId = NULL;
|
|
||||||
//
|
|
||||||
// auto subProgram = mDebugger->mDebugTarget->FindSubProgram(addr);
|
|
||||||
// while (stackTraceProcIdx < maxStackTrace)
|
|
||||||
// {
|
|
||||||
// if (subProgram != NULL)
|
|
||||||
// {
|
|
||||||
// ProfileProcId** procIdPtr;
|
|
||||||
// if (mProcMap.TryAdd(subProgram, NULL, &procIdPtr))
|
|
||||||
// {
|
|
||||||
// String procName = subProgram->ToString();
|
|
||||||
// procId = Get(procName);
|
|
||||||
// *procIdPtr = procId;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// procId = *procIdPtr;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// String symbolName;
|
|
||||||
// addr_target symbolOffset = 0;
|
|
||||||
// if ((!mDebugger->mDebugTarget->FindSymbolAt(addr, &symbolName, &symbolOffset)) || (symbolOffset > 64 * 1024))
|
|
||||||
// {
|
|
||||||
// auto dbgModule = mDebugger->mDebugTarget->FindDbgModuleForAddress(addr);
|
|
||||||
// if (dbgModule != NULL)
|
|
||||||
// symbolName += dbgModule->mDisplayName + "!";
|
|
||||||
// symbolName += StrFormat("0x%@", addr);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// procId = Get(symbolName);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (reverse)
|
|
||||||
// *(--procStackTraceHead) = procId;
|
|
||||||
// else
|
|
||||||
// procStackTraceHead[stackTraceProcIdx] = procId;
|
|
||||||
// stackTraceProcIdx++;
|
|
||||||
//
|
|
||||||
// if (subProgram == NULL)
|
|
||||||
// break;
|
|
||||||
// if (subProgram->mInlineeInfo == NULL)
|
|
||||||
// break;
|
|
||||||
// subProgram = subProgram->mInlineeInfo->mInlineParent;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// auto procEntry = AddToSet(mProfileProcEntrySet, procStackTraceHead, stackTraceProcIdx);
|
|
||||||
// if (procEntry->mEntryIdx == -1)
|
|
||||||
// {
|
|
||||||
// procEntry->mEntryIdx = (int)mProfileProcEntrySet.size() - 1; // Start at '0'
|
|
||||||
// }
|
|
||||||
// mProfileAddrToProcMap[addrEntry->mEntryIdx] = procEntry->mEntryIdx;
|
|
||||||
// }
|
|
||||||
|
|
||||||
BF_ASSERT(mProfileProcEntries.IsEmpty());
|
BF_ASSERT(mProfileProcEntries.IsEmpty());
|
||||||
mProfileProcEntries.Resize(mProfileProcEntrySet.size());
|
mProfileProcEntries.Resize(mProfileProcEntrySet.size());
|
||||||
for (auto& val : mProfileProcEntrySet)
|
for (auto& val : mProfileProcEntrySet)
|
||||||
|
|
|
@ -1399,9 +1399,9 @@ bool WinDebugger::DoUpdate()
|
||||||
dbgModule->PreCacheImage();
|
dbgModule->PreCacheImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto dbgModule : mPendingDebugInfoLoad)
|
for (auto kv : mPendingDebugInfoLoad)
|
||||||
{
|
{
|
||||||
dbgModule->PreCacheDebugInfo();
|
kv.mKey->PreCacheDebugInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!mPendingImageLoad.IsEmpty())
|
while (!mPendingImageLoad.IsEmpty())
|
||||||
|
@ -1412,26 +1412,21 @@ bool WinDebugger::DoUpdate()
|
||||||
_ModuleChanged(dbgModule);
|
_ModuleChanged(dbgModule);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!mPendingDebugInfoLoad.IsEmpty())
|
if (!mPendingDebugInfoLoad.IsEmpty())
|
||||||
{
|
{
|
||||||
auto dbgModule = mPendingDebugInfoLoad.back();
|
Array<DbgPendingDebugInfoLoad> pendingList;
|
||||||
mPendingDebugInfoLoad.pop_back();
|
for (auto kv : mPendingDebugInfoLoad)
|
||||||
dbgModule->RequestDebugInfo();
|
pendingList.Add(kv.mValue);
|
||||||
// We do a "_ModuleChanged" even if the load failed, so we rehup the callstack and stop
|
|
||||||
// saying "<Loading...>"
|
for (auto& entry : pendingList)
|
||||||
_ModuleChanged(dbgModule);
|
{
|
||||||
|
auto dbgModule = entry.mModule;
|
||||||
|
entry.mModule->RequestDebugInfo(entry.mAllowRemote);
|
||||||
|
// We do a "_ModuleChanged" even if the load failed, so we rehup the callstack and stop
|
||||||
|
// saying "<Loading...>"
|
||||||
|
_ModuleChanged(entry.mModule);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*while (!mPendingDebugInfoRequests.IsEmpty())
|
|
||||||
{
|
|
||||||
if ((!mPendingImageLoad.IsEmpty()) || (!mPendingDebugInfoLoad.IsEmpty()))
|
|
||||||
break;
|
|
||||||
|
|
||||||
auto dbgModule = mPendingDebugInfoRequests.back();
|
|
||||||
mPendingDebugInfoRequests.pop_back();
|
|
||||||
if (LoadDebugInfoForModule(dbgModule) == 1)
|
|
||||||
_ModuleChanged(dbgModule);
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsMiniDumpDebugger())
|
if (IsMiniDumpDebugger())
|
||||||
|
@ -10829,7 +10824,7 @@ String WinDebugger::GetStackFrameInfo(int stackFrameIdx, intptr* addr, String* o
|
||||||
{
|
{
|
||||||
*outFlags |= FrameFlags_HasPendingDebugInfo;
|
*outFlags |= FrameFlags_HasPendingDebugInfo;
|
||||||
|
|
||||||
if (mPendingDebugInfoLoad.Contains(dbgModule))
|
if (mPendingDebugInfoLoad.ContainsKey(dbgModule))
|
||||||
{
|
{
|
||||||
String outName = EncodeDataPtr(pcAddress, true);
|
String outName = EncodeDataPtr(pcAddress, true);
|
||||||
if ((dbgModule != NULL) && (!dbgModule->mDisplayName.empty()))
|
if ((dbgModule != NULL) && (!dbgModule->mDisplayName.empty()))
|
||||||
|
@ -11957,11 +11952,14 @@ int WinDebugger::LoadDebugInfoForModule(DbgModule* dbgModule)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mPendingDebugInfoLoad.Contains(dbgModule))
|
DbgPendingDebugInfoLoad* dbgPendingDebugInfoLoad = NULL;
|
||||||
|
if (mPendingDebugInfoLoad.TryAdd(dbgModule, NULL, &dbgPendingDebugInfoLoad))
|
||||||
{
|
{
|
||||||
mPendingDebugInfoLoad.Add(dbgModule);
|
dbgPendingDebugInfoLoad->mModule = dbgModule;
|
||||||
|
dbgPendingDebugInfoLoad->mAllowRemote = true;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
dbgPendingDebugInfoLoad->mAllowRemote = true;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,6 +357,18 @@ struct WdMemoryBreakpointBind
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct DbgPendingDebugInfoLoad
|
||||||
|
{
|
||||||
|
DbgModule* mModule;
|
||||||
|
bool mAllowRemote;
|
||||||
|
|
||||||
|
DbgPendingDebugInfoLoad()
|
||||||
|
{
|
||||||
|
mModule = NULL;
|
||||||
|
mAllowRemote = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class WinDebugger : public Debugger
|
class WinDebugger : public Debugger
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -431,7 +443,7 @@ public:
|
||||||
DbgPendingExpr* mDebugPendingExpr;
|
DbgPendingExpr* mDebugPendingExpr;
|
||||||
WdThreadInfo mDebugEvalThreadInfo; // Copy of thread info when eval started
|
WdThreadInfo mDebugEvalThreadInfo; // Copy of thread info when eval started
|
||||||
Array<DbgModule*> mPendingImageLoad;
|
Array<DbgModule*> mPendingImageLoad;
|
||||||
Array<DbgModule*> mPendingDebugInfoLoad;
|
Dictionary<DbgModule*, DbgPendingDebugInfoLoad> mPendingDebugInfoLoad;
|
||||||
Array<DbgModule*> mPendingDebugInfoRequests;
|
Array<DbgModule*> mPendingDebugInfoRequests;
|
||||||
HashSet<String> mLiteralSet;
|
HashSet<String> mLiteralSet;
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -1,47 +0,0 @@
|
||||||
# Sublime Text 3 macro to merge CodeConv deps files
|
|
||||||
# Open deps files and run this macro. A new file will be created that
|
|
||||||
# includes data from all open deps files.
|
|
||||||
import sublime, sublime_plugin
|
|
||||||
|
|
||||||
class Beefy_deps_mergeCommand(sublime_plugin.TextCommand):
|
|
||||||
def run(self, edit):
|
|
||||||
nv = self.view.window().new_file()
|
|
||||||
|
|
||||||
typeMap = {};
|
|
||||||
strOut = "{\n\t\"trimReflection\":true,\n\t\"requiredTypes\":\n\t[\n"
|
|
||||||
|
|
||||||
for view in self.view.window().views():
|
|
||||||
fileName = view.file_name()
|
|
||||||
if ((fileName == None) or (fileName.find(".bfrtproj") == -1)):
|
|
||||||
continue
|
|
||||||
|
|
||||||
viewRegion = sublime.Region(0, view.size())
|
|
||||||
fullText = view.substr(viewRegion)
|
|
||||||
lines = fullText.splitlines()
|
|
||||||
|
|
||||||
for line in lines:
|
|
||||||
if not line.startswith("\t\t\""):
|
|
||||||
continue
|
|
||||||
|
|
||||||
dataStr = line.split('\"')[1]
|
|
||||||
parts = dataStr.split(':')
|
|
||||||
|
|
||||||
typeName = parts[0]
|
|
||||||
memberData = parts[1].split(';')
|
|
||||||
|
|
||||||
if not typeName in typeMap:
|
|
||||||
typeMap[typeName] = []
|
|
||||||
|
|
||||||
for memberName in memberData:
|
|
||||||
if (not memberName in typeMap[typeName]):
|
|
||||||
typeMap[typeName].append(memberName)
|
|
||||||
|
|
||||||
for typeName in sorted(typeMap):
|
|
||||||
lineOut = "\t\t\"" + typeName + ":"
|
|
||||||
lineOut += ";".join(sorted(typeMap[typeName]))
|
|
||||||
lineOut += "\",\n"
|
|
||||||
strOut += lineOut
|
|
||||||
|
|
||||||
strOut += "\t]\n}\n"
|
|
||||||
|
|
||||||
nv.replace(edit, sublime.Region(nv.size(), nv.size()), strOut)
|
|
|
@ -1,67 +0,0 @@
|
||||||
""" File: BeefyLLDB.py """
|
|
||||||
import lldb
|
|
||||||
import shlex
|
|
||||||
|
|
||||||
class BFArraySyntheticChildrenProvider:
|
|
||||||
def __init__(self, valobj, internal_dict):
|
|
||||||
#print "Var: " + valobj.GetName()
|
|
||||||
self.startIdx = 1
|
|
||||||
self.obj = valobj
|
|
||||||
self.update()
|
|
||||||
def update(self):
|
|
||||||
self.length = self.obj.GetChildMemberWithName("mLength")
|
|
||||||
self.firstElement = self.obj.GetChildMemberWithName("mFirstElement")
|
|
||||||
self.dataType = self.firstElement.GetType()
|
|
||||||
def num_children(self):
|
|
||||||
return min(1024, self.length.GetValueAsSigned()) + self.startIdx;
|
|
||||||
def get_child_index(self,name):
|
|
||||||
if (name == "mLength"):
|
|
||||||
return 0;
|
|
||||||
try:
|
|
||||||
return int(name.lstrip('[').rstrip(']')) + self.startIdx
|
|
||||||
except:
|
|
||||||
return -1
|
|
||||||
def get_child_at_index(self,index):
|
|
||||||
if index < 0:
|
|
||||||
return None;
|
|
||||||
if index >= self.num_children():
|
|
||||||
return None;
|
|
||||||
|
|
||||||
if (index == 0):
|
|
||||||
return self.length;
|
|
||||||
|
|
||||||
offset = (index - self.startIdx) * self.dataType.GetByteSize()
|
|
||||||
return self.firstElement.AddressOf().CreateChildAtOffset('['+str(index - self.startIdx)+']', offset, self.dataType)
|
|
||||||
|
|
||||||
def has_children(self):
|
|
||||||
return True
|
|
||||||
|
|
||||||
def StringSummaryProvider(valobj, dict):
|
|
||||||
e = lldb.SBError()
|
|
||||||
s = u'"'
|
|
||||||
|
|
||||||
if valobj.GetValue() != 0:
|
|
||||||
strObj = valobj.GetChildMemberWithName("start_char")
|
|
||||||
len = valobj.GetChildMemberWithName("length").GetValueAsSigned()
|
|
||||||
|
|
||||||
i = 0
|
|
||||||
newchar = -1
|
|
||||||
ptrType = strObj.GetType().GetPointerType()
|
|
||||||
|
|
||||||
for i in range(0, min(8192, len)):
|
|
||||||
data_val = strObj.CreateChildAtOffset('['+str(i)+']', i*2, strObj.GetType())
|
|
||||||
newchar = data_val.GetValueAsUnsigned()
|
|
||||||
i = i + 1
|
|
||||||
|
|
||||||
if newchar != 0:
|
|
||||||
s = s + unichr(newchar)
|
|
||||||
s = s + u'"'
|
|
||||||
return s.encode('utf-8')
|
|
||||||
|
|
||||||
def __lldb_init_module(debugger,dict):
|
|
||||||
print "InitModule"
|
|
||||||
debugger.HandleCommand('type summary add --expand -x "BFArray1<" -summary-string "len = ${var.mLength}"')
|
|
||||||
debugger.HandleCommand('type synthetic add -x "BFArray1<" -l BeefyLLDB.BFArraySyntheticChildrenProvider')
|
|
||||||
debugger.HandleCommand('type summary add "BFType" -summary-string "${var.mDebugTypeData->mName}@${var.mDebugTypeData->mNamespace}"')
|
|
||||||
debugger.HandleCommand('type summary add "BFTypeRoot" -summary-string "${var.mDebugTypeData->mName}@${var.mDebugTypeData->mNamespace}"')
|
|
||||||
debugger.HandleCommand('type summary add "System::String" -F BeefyLLDB.StringSummaryProvider')
|
|
|
@ -1,310 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<configuration>
|
|
||||||
|
|
||||||
<configSections>
|
|
||||||
<section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
|
|
||||||
<section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
|
|
||||||
<sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
|
|
||||||
<section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
|
|
||||||
<section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
</sectionGroup>
|
|
||||||
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
|
||||||
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
|
||||||
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
|
|
||||||
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
|
||||||
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
|
|
||||||
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
|
|
||||||
</sectionGroup>
|
|
||||||
</sectionGroup>
|
|
||||||
</sectionGroup>
|
|
||||||
<sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
</sectionGroup>
|
|
||||||
<sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
|
|
||||||
<section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
|
|
||||||
<section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<sectionGroup name="system.runtime.caching" type="System.Runtime.Caching.Configuration.CachingSectionGroup, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<section name="memoryCache" type="System.Runtime.Caching.Configuration.MemoryCacheSection, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
</sectionGroup>
|
|
||||||
</configSections>
|
|
||||||
|
|
||||||
<connectionStrings>
|
|
||||||
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
|
|
||||||
<add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
|
|
||||||
</connectionStrings>
|
|
||||||
|
|
||||||
<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
|
|
||||||
<providers>
|
|
||||||
<add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
|
||||||
description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
|
|
||||||
<add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
|
||||||
description="" useMachineProtection="true" keyEntropy="" />
|
|
||||||
</providers>
|
|
||||||
</configProtectedData>
|
|
||||||
|
|
||||||
<system.net>
|
|
||||||
<authenticationModules>
|
|
||||||
<add type="System.Net.BasicClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add type="System.Net.DigestClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add type="System.Net.NtlmClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</authenticationModules>
|
|
||||||
<webRequestModules>
|
|
||||||
<add prefix="http" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="https" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</webRequestModules>
|
|
||||||
<settings>
|
|
||||||
<ipv6 enabled="false"/>
|
|
||||||
</settings>
|
|
||||||
</system.net>
|
|
||||||
|
|
||||||
<system.runtime.remoting>
|
|
||||||
<application>
|
|
||||||
<channels>
|
|
||||||
<channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
<channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
<channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
</channels>
|
|
||||||
</application>
|
|
||||||
<channels>
|
|
||||||
<channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</channels>
|
|
||||||
<channelSinkProviders>
|
|
||||||
<clientProviders>
|
|
||||||
<formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</clientProviders>
|
|
||||||
<serverProviders>
|
|
||||||
<formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</serverProviders>
|
|
||||||
</channelSinkProviders>
|
|
||||||
</system.runtime.remoting>
|
|
||||||
|
|
||||||
<appSettings>
|
|
||||||
<!--<add key="yourkey" value="your value" /> -->
|
|
||||||
<!--<remove key="a key defined higher in the hierarchy" /> -->
|
|
||||||
<!--<clear/> Removes all defined settings -->
|
|
||||||
</appSettings>
|
|
||||||
<system.diagnostics>
|
|
||||||
<trace autoflush="false" indentsize="4" />
|
|
||||||
</system.diagnostics>
|
|
||||||
<system.drawing>
|
|
||||||
</system.drawing>
|
|
||||||
|
|
||||||
<system.data>
|
|
||||||
<DbProviderFactories>
|
|
||||||
<add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
|
|
||||||
description="Mono Framework Data Provider for SQLite (old version)"
|
|
||||||
type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
<add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
|
|
||||||
description="Mono Framework Data Provider for SQLite (new version)"
|
|
||||||
type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
<add name="Odbc Data Provider" invariant="System.Data.Odbc"
|
|
||||||
description=".Net Framework Data Provider for Odbc"
|
|
||||||
type="System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="OleDb Data Provider" invariant="System.Data.OleDb"
|
|
||||||
description=".Net Framework Data Provider for OleDb"
|
|
||||||
type="System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
|
|
||||||
description=".Net Framework Data Provider for Oracle"
|
|
||||||
type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
|
|
||||||
description=".Net Framework Data Provider for SqlServer"
|
|
||||||
type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
|
|
||||||
description=".Net Framework Data Provider for Sybase"
|
|
||||||
type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
</DbProviderFactories>
|
|
||||||
</system.data>
|
|
||||||
|
|
||||||
<mscorlib>
|
|
||||||
<cryptographySettings>
|
|
||||||
<cryptoNameMapping>
|
|
||||||
<cryptoClasses>
|
|
||||||
<cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
|
|
||||||
<cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
|
|
||||||
</cryptoClasses>
|
|
||||||
<nameEntry name="MD2" class="monoMD2" />
|
|
||||||
<nameEntry name="MD4" class="monoMD4" />
|
|
||||||
</cryptoNameMapping>
|
|
||||||
<oidMap>
|
|
||||||
<oidEntry OID="1.2.840.113549.2.2" name="MD2" />
|
|
||||||
<oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
|
|
||||||
<oidEntry OID="1.2.840.113549.2.4" name="MD4" />
|
|
||||||
<oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
|
|
||||||
</oidMap>
|
|
||||||
</cryptographySettings>
|
|
||||||
</mscorlib>
|
|
||||||
|
|
||||||
<strongNames>
|
|
||||||
<pubTokenMapping>
|
|
||||||
<!-- ECMA key -->
|
|
||||||
<map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Microsoft (final) key -->
|
|
||||||
<map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Microsoft (Web Service Enhancement) key -->
|
|
||||||
<map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- IBM (DB2 Data Provider) key -->
|
|
||||||
<map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Silverlight 2.0 key -->
|
|
||||||
<map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- XNA Framework key -->
|
|
||||||
<map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
|
|
||||||
</pubTokenMapping>
|
|
||||||
</strongNames>
|
|
||||||
|
|
||||||
<system.web>
|
|
||||||
<webServices>
|
|
||||||
<protocols>
|
|
||||||
<add name="HttpSoap"/>
|
|
||||||
<add name="HttpSoap12"/>
|
|
||||||
<add name="HttpPost"/>
|
|
||||||
<add name="HttpGet"/>
|
|
||||||
<add name="Documentation"/>
|
|
||||||
</protocols>
|
|
||||||
<conformanceWarnings>
|
|
||||||
<add name="BasicProfile1_1"/>
|
|
||||||
</conformanceWarnings>
|
|
||||||
<wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
|
|
||||||
</webServices>
|
|
||||||
|
|
||||||
<membership>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
|
|
||||||
<!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
|
|
||||||
</providers>
|
|
||||||
</membership>
|
|
||||||
|
|
||||||
<roleManager>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
|
|
||||||
<!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
|
|
||||||
</providers>
|
|
||||||
</roleManager>
|
|
||||||
|
|
||||||
<profile>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
</providers>
|
|
||||||
</profile>
|
|
||||||
</system.web>
|
|
||||||
|
|
||||||
|
|
||||||
<system.serviceModel>
|
|
||||||
<extensions>
|
|
||||||
<behaviorExtensions>
|
|
||||||
<add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</behaviorExtensions>
|
|
||||||
<bindingElementExtensions>
|
|
||||||
<add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</bindingElementExtensions>
|
|
||||||
<bindingExtensions>
|
|
||||||
<add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</bindingExtensions>
|
|
||||||
<endpointExtensions>
|
|
||||||
<add name="dynamicEndpoint" type="System.ServiceModel.Discovery.Configuration.DynamicEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="discoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.DiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="udpDiscoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpDiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="announcementEndpoint" type="System.ServiceModel.Discovery.Configuration.AnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="udpAnnouncementEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpAnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="webHttpEndpoint" type="System.ServiceModel.Configuration.WebHttpEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="webScriptEndpoint" type="System.ServiceModel.Configuration.WebScriptEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</endpointExtensions>
|
|
||||||
</extensions>
|
|
||||||
</system.serviceModel>
|
|
||||||
</configuration>
|
|
||||||
|
|
||||||
|
|
BIN
bin/symstore.exe
BIN
bin/symstore.exe
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue