示例#1
0
    public static bool SaveSnapshotJson(string jsonFilePath, string jsonFileName, CrawledMemorySnapshot unpacked)
    {
        try
        {
            string jsonContent = TrackerModeUtil.ResolvePackedForJson(unpacked);
            if (string.IsNullOrEmpty(jsonContent))
            {
                throw new Exception("resolve failed.");
            }

            if (!Directory.Exists(jsonFilePath))
            {
                Directory.CreateDirectory(jsonFilePath);
            }

            string       jsonFile = Path.Combine(jsonFilePath, jsonFileName);
            FileInfo     fileInfo = new FileInfo(jsonFile);
            StreamWriter sw       = fileInfo.CreateText();
            sw.Write(jsonContent);
            sw.Close();
            sw.Dispose();
        }
        catch (Exception ex)
        {
            Debug.LogError(string.Format("save text error ! msg ={0}", ex.Message));
            Debug.LogException(ex);
            return(false);
        }
        return(true);
    }
 public override void Update()
 {
     if (_connectPressed)
     {
         TrackerModeUtil.Connect(_IPField);
         _connectPressed = false;
     }
 }
示例#3
0
    public static bool SaveSnapshotFiles(string targetSession, string targetName, PackedMemorySnapshot packed /*, CrawledMemorySnapshot unpacked*/)
    {
        string targetDir = Path.Combine(MemUtil.SnapshotsDir, targetSession);

        if (!Directory.Exists(targetDir))
        {
            Directory.CreateDirectory(targetDir);
        }

        if (!TrackerModeUtil.SaveSnapshotBin(targetDir, targetName + TrackerModeConsts.SnapshotBinPostfix, packed))
        {
            return(false);
        }

        Debug.LogFormat("Snapshot saved successfully. (dir: {0}, name: {1})", targetDir, targetName);
        return(true);
    }
    public void LoadSession()
    {
        string pathName = EditorUtility.OpenFolderPanel("Load Snapshot Folder", MemUtil.SnapshotsDir, "");

        if (string.IsNullOrEmpty(pathName))
        {
            return;
        }

        List <object> packeds = new List <object>();

        try
        {
            DirectoryInfo TheFolder = new DirectoryInfo(pathName);
            if (!TheFolder.Exists)
            {
                throw new Exception(string.Format("bad path: {0}", TheFolder.ToString()));
            }

            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            foreach (var file in TheFolder.GetFiles())
            {
                var fileName = file.FullName;
                if (fileName.EndsWith(".memsnap"))
                {
                    using (Stream stream = File.Open(fileName, FileMode.Open))
                    {
                        packeds.Add(TrackerModeUtil.LoadSnapshotBin(stream));
                    }
                }
            }

            if (packeds.Count == 0)
            {
                MemUtil.NotifyError("no snapshots found.");
                return;
            }
        }
        catch (Exception ex)
        {
            Debug.LogError(string.Format("load snapshot error ! msg ={0}", ex.Message));
            return;
        }

        Clear();

        foreach (var obj in packeds)
        {
            MemSnapshotInfo memInfo = new MemSnapshotInfo();
            if (memInfo.AcceptSnapshot(obj as PackedMemorySnapshot))
            {
                _snapshots.Add(memInfo);
            }
        }

        if (_snapshots.Count == 0)
        {
            MemUtil.NotifyError("empty snapshot list, ignored.");
            return;
        }

        RefreshIndices();
        _selected = _snapshots.Count - 1;
    }
示例#5
0
    public override bool SaveSessionJson(CrawledMemorySnapshot Unpacked)
    {
        string sessionName = _sessionTimeStr + TrackerModeConsts.EditorTag;

        return(TrackerModeUtil.SaveSnapshotJson(sessionName, _selected.ToString() + ".json", Unpacked));
    }
示例#6
0
    public override bool SaveSessionInfo(PackedMemorySnapshot packed)
    {
        string sessionName = _sessionTimeStr + TrackerModeConsts.EditorTag;

        return(TrackerModeUtil.SaveSnapshotFiles(sessionName, _selected.ToString(), packed));
    }
示例#7
0
 public override void OnAppStarted()
 {
     TrackerModeUtil.Connect(MemConst.LocalhostIP);
 }
    public override bool SaveSessionInfo(PackedMemorySnapshot packed, CrawledMemorySnapshot unpacked)
    {
        string sessionName = _sessionTimeStr + TrackerModeConsts.RemoteTag + _IPField;

        return(TrackerModeUtil.SaveSnapshotFiles(sessionName, _selected.ToString(), packed, unpacked));
    }
示例#9
0
    public override bool SaveSessionJson(CrawledMemorySnapshot Unpacked)
    {
        string sessionName = _sessionTimeStr + TrackerModeConsts.RemoteTag + _IPField;

        return(TrackerModeUtil.SaveSnapshotJson(sessionName, _selected.ToString(), Unpacked));
    }