如何在on&中检测线路调试调试器正在运行?

时间:2017-06-05 23:40:35

标签: debugging coldfusion jrun

我们在Windows Server 2003上的JRun4中运行了ColdFusion 8应用程序。

我们如何检测(和显示)调试器是否在CF管理员中启用允许线路调试运行。检测后,我们希望在应用程序上显示调试器正在运行的警告。

1 个答案:

答案 0 :(得分:4)

您应该可以使用ColdFusion Administrator API。当然,您需要安全/权限才能使用它。如果您使用的是沙盒安全性,请启用对cf_web_root/CFIDE/adminapi目录的访问以使用管理员API。基本上,管理员API允许您以编程方式访问大多数 ColdFusion Administrator设置。

From the documentation

  

您可以使用Administrator API以编程方式执行大多数ColdFusion Administrator任务。管理员API由一组ColdFusion组件(CFC)组成,这些组件包含您调用以执行管理员任务的方法。

用于管理调试设置的CFC是debugging.cfc

这是一些伪代码(尚未经过测试):

<cfscript> 

// Instantiate the administrator.cfc 
adminObj = createObject("component","cfide.adminapi.administrator");

// Call the administrator.cfc login method, passing the ColdFusion Administrator password
adminObj.login("#password#","#username#");

// Instantiate the debugging CFC
debugObj = createObject("component","cfide.adminapi.debugging");

// Call the desired CFC method
if (debugObj.isLineDebuggerEnabled()) {

    if (debugObj.isLineDebuggerRunning()) {

        // Stop line debugger
        debugObj.stopLineDebugger();
    }

    // Disable the line debugger
    debugObj.setLineDebuggerEnabled(enabled="false");
}

</cfscript>

这应该让你开始。 Here is some documentation on the debugging.cfc and it's methods

Manages debug settings.

hierarchy:  WEB-INF.cftags.component
            CFIDE.adminapi.base
            CFIDE.adminapi.debugging
path:   {web-root}\CFIDE\adminapi\debugging.cfc
serializable:   Yes
properties: 
methods:  addDebugEvent,
          deleteIP,
          getCurrentIP,
          getDebugProperty,
          getDebugRecordset,
          getIPList,
          getLineDebuggerPort,
          getLogProperty,
          getMaxDebuggingSessions,
          isLineDebuggerEnabled,
          isLineDebuggerRunning,
          restartLineDebugger,
          setDebugProperty,
          setIP,
          setLineDebuggerEnabled,
          setLineDebuggerPort,
          setLogProperty,
          setMaxDebuggingSessions,
          startLineDebugger,
          stopLineDebugger,
          validateIP*
inherited methods:  dump,
                    getEdition,
                    getInstallType,
                    getJRunRootDir,
                    isAdminUser,
                    RDSInvoker,
                    setJrunSN