调试C#脚本

调试C#脚本,c#,debugging,C#,Debugging,我的问题是,我们如何调试用C编写的.dll脚本 我已经为一个.exe程序创建了一个.dll,我发现了一个错误,我想调试它,但启用了它。我可以很容易地调试一个独立的程序,但不知道如何调试其他程序的脚本 该程序是全屏应用程序(它是一个PC游戏)。我正在使用SharpDevelopIDE(还没有安装插件,从主站点下载的纯香草版) 是的,我想告诉你们,我并没有做任何像窃取游戏或类似的事情,可以伤害游戏开发商的盗版。只是为了个人使用而修改,开发者允许它在单人模式下使用 也许这就是你需要的所有信息。很抱歉我

我的问题是,我们如何调试用C编写的
.dll
脚本

我已经为一个
.exe
程序创建了一个
.dll
,我发现了一个错误,我想调试它,但启用了它。我可以很容易地调试一个独立的程序,但不知道如何调试其他程序的脚本

该程序是全屏应用程序(它是一个PC游戏)。我正在使用SharpDevelopIDE(还没有安装插件,从主站点下载的纯香草版)

是的,我想告诉你们,我并没有做任何像窃取游戏或类似的事情,可以伤害游戏开发商的盗版。只是为了个人使用而修改,开发者允许它在单人模式下使用

也许这就是你需要的所有信息。很抱歉我的英语不好,这是我在stack overflow中的第一个问题,我不是很天才,只是学习C

谢谢。

您尝试过“附加到进程”吗

在SharpDevelop中,我相信步骤如下(本机上未安装):

  • 运行exe,然后退出al+tab
  • 在顶部菜单中导航至调试>附加到进程…
  • 在出现的窗口中,找到exe的运行进程,然后单击“附加”
  • 如果您想要反编译,请检查以下问题:

    首先,C#不是一种
    脚本语言
    ,因为它在运行时编译为
    CIL
    ,而不像python那样解释

    为了调试.dll或.exe,除了调试程序本身之外,您还需要一些东西:

    • 源代码文件
    • 与.exe/.dll和源匹配的.PDB文件
    如果您没有使用
    Reflector
    DotPeek
    或其他程序,则可以手动生成这两个内容

    可以通过以下方式调试Visual Studio中的外部进程:

    • 附加到进程
      (Visual Studio中的
      CTRL+ALT+P
      )以运行进程
    • 在“项目属性”的“调试”部分中启动外部程序
    • 使用
      corflags
      或手动在注册表中设置特定标志
    • 如果必须,请使用远程调试器

    你可以搜索其中的每一个,因为这确实是一个无限的话题,但我希望你能从答案中得到基本的想法,如果没有,请随意提问。

    你的英语很好,别担心。我假设您没有DLL的源代码,只有编译的库?不幸的是,这是一个非常广泛的问题;太宽,堆栈溢出。您是否能够将您的问题浓缩到您迄今为止尝试过的内容以及遇到的问题?也许可以尝试使用.net reflector?