代码之家  ›  专栏  ›  技术社区  ›  Rookie Programmer Aravind

如何监控程序代码执行?(通过代码行等创建和修改文件)

  •  0
  • Rookie Programmer Aravind  · 技术社区  · 14 年前

    我的程序是关于触发XSL转换,

    事实上,用于执行转换的代码创建了一些dll和tmp文件,并在转换完成后很快将其删除。

    对我来说,手动监视文件的创建和删除几乎是不可跟踪的,所以我想在控制台窗口中包含一些代码行来显示“哪个代码行创建/修改了哪些tmp和dll文件”。

    这是准则的相关部分:

                string strXmlQueryTransformPath = @"input.xsl";
                string strXmlOutput = string.Empty;
                StringReader srXmlInput = null;
                StringWriter swXmlOutput = null;
                XslCompiledTransform xslTransform = null;
                XPathDocument xpathXmlOrig = null;
                XsltSettings xslSettings = null;
    
                MemoryStream objMemoryStream = null;
                objMemoryStream = new MemoryStream();
    
                xslTransform = new XslCompiledTransform(false);
                xpathXmlOrig = new XPathDocument("input.xml");
    
                xslSettings = new XsltSettings();
                xslSettings.EnableScript = true;
                xslTransform.Load(strXmlQueryTransformPath, xslSettings, new XmlUrlResolver());
    
                xslTransform.Transform(xpathXmlOrig, null, objMemoryStream);
                objMemoryStream.Position = 0;
                StreamReader objStreamReader = new StreamReader(objMemoryStream);
                strXmlOutput = objStreamReader.ReadToEnd();
    // make use of Data in string "strXmlOutput"
    

    谷歌和msdn搜索对我没什么帮助。

    2 回复  |  直到 14 年前
        1
  •  1
  •   FacticiusVir    14 年前

    临时dll将作为xslcompiledTransform对象的一部分创建:xslt文档在运行时编译为msil,生成的程序集用于执行实际的转换。如果您真的想知道DLL出现/消失的确切时间,您可以在调试器中一行一行地遍历代码并观察临时目录。

    不过,你为什么关心这些临时文件呢?它们只是XSL转换代码的一个实现细节,与您的代码无关。