2011-09-07 75 views
1

我正在使用基於JavaScript的客戶端和服務器端代碼的應用程序。 我可以使用「調試器」語句成功調試客戶端代碼。代碼在Visual Studio中看到2005 然而,當我調試使用「調試」語句的服務器端代碼,以下事件發生:是什麼導致創建一個臨時腳本文件?

  1. VS與「Inetinfo中(運行)」打開在標題欄中,但沒有代碼顯示
  2. 一個空白的文本文檔在我的文本編輯器(記事本++)創建 - C:\ WINDOWS \ SYSTEM32 \^TransientScriptDocument0.txt
  3. 回到VS我得到一個標題爲查找文件對話框「查找來源:JScript的 - 腳本塊「或」評估代碼「。它在文件夾inetsrv中查找「JScript - 腳本塊」或「eval代碼」的文件名。
  4. 我取消這個對話框,因爲文件不存在。
  5. 我得到另一個VS對話框,指出「在當前位置沒有可用的源代碼」
  6. 我在該對話框上單擊「確定」,我可以看到沒有代碼顯示的VS主窗口。我的本地窗口顯示了斷點處可用的局部變量,我可以在「調用棧」中查看這些函數,但是如果我嘗試點擊它們進行調試,我將再次獲得對話框「當前沒有可用的源代碼位置」。

能有人請解釋: 1.發生了什麼事 2.我需要改變,以能夠看到什麼,我可以與客戶端源代碼調試以同樣的方式在服務器端源代碼 非常感謝

回答

0

很難說如果不知道應用程序,但一般情況下對編譯代碼的調試器 - 我認爲這可能適用於您的情況的服務器端代碼 - 不直接追溯源代碼,但針對包含在目標代碼中的調試信息(這是調試代碼和發佈代碼之間的區別 - 發佈代碼沒有這些無關信息)。

該調試器然後鏈接回源代碼文件的副本,向您顯示正在執行的當前行,並讓您查看變量的內容。但這是'煙霧和鏡子',它並不直接運行你看到的代碼。

因此,在您的情況下,可能發生的情況是,在您的環境中,調試器實際上並不知道源位置或無法打開它(即權限)。因此,您的下一步是檢查您的開發環境並確保所有內容都指向正確的位置,並且已授予所有必要的讀取權限。

+0

源代碼未編譯。由於我提出了這個問題,我找到了解決這個問題的方法。我的所有代碼都放在虛擬機上,因此我部署了一個我們團隊使用已知工作環境的虛擬機模板。現在,當我調試服務器端代碼時,VS「發現」任何錯誤。服務器端代碼加載在一個名爲「eval代碼」的窗口中,並且與客戶端代碼一樣可完全查看。如果任何人有更明確的答案爲什麼我的虛擬機出現在我以前的虛擬機,我仍然有興趣知道。 – mccartrey

相關問題