代码之家  ›  专栏  ›  技术社区  ›  Peter Mortensen icecrime

在Visual Studio调试会话期间查找当前目录?

  •  16
  • Peter Mortensen icecrime  · 技术社区  · 15 年前

    在visualstudio调试器下运行?

    . 我不想更改代码 或者从程序本身获取信息-我只是想 已调试。

    调试.NET时 Windows Forms C#)我不确定XML文件来自哪个位置 从中读出。我希望当前目录是 进程的属性导致:

    (右键单击process/Properties/tab Image/Current Directory)。

    将光标悬停在process Explorer主视图中的流程上 显示了不同的结果(请参见下面的屏幕截图):

    独立启动应用程序将显示预期的 当前目录,

    D: \dproj\DTASCall\dtasupercarge\bin文件\

    在Process Explorer的“进程属性”窗口中。


    Alt text http://www.pil.sdu.dk/1/until2039-12-31/PEdiscrepancy_2009-09-02.png

    3 回复  |  直到 12 年前
        1
  •  29
  •   Peter Mortensen icecrime    12 年前

    要在代码中或断点的即时窗口中确定当前工作目录,请尝试

    System.IO.Directory.GetCurrentDirectory()
    
        2
  •  4
  •   Richard    15 年前

    在代码中,调用函数

    System.IO.Directory.GetCurrentDirectory()
    

        3
  •  -3
  •   Peter Mortensen icecrime    9 年前

    最好的方法是在中运行应用程序 WinDbg (Windows调试器),然后附加到进程并运行 !handle 命令。每个打开的文件都有一个关联的句柄。通过转储相应进程的所有句柄,您将看到相应的文件路径。

    举个例子:

    !handle 0 f process-id
    

    用进程id的值替换进程id。也可以使用进程地址代替进程id。如果未显示文件对象,则文件句柄已关闭。在这种情况下,需要跟踪句柄。这可以通过 !htrace 命令。