Отладка гаджетов боковой панели Windows без Visual Studio
Я пытаюсь создать гаджет боковой панели без использования Visual Studio. Я искал способы их отладки, но все говорит о том, что отладчик Visual Studio JIT-единственный способ сделать это.
кто-нибудь смог отладить гаджеты боковой панели без Visual Studio?
2 ответов
в течение многих лет я не использовал Visual Studio для работы с гаджетами. Есть несколько способов отладки гаджетов без него, просто не так широко. Например, вы не можете использовать debugger;
команда без надлежащего отладчика, подключенного к процессу. Что вы можете сделать, это использовать программу как DebugView ловить вывода сообщений System.Debug.outputString()
способ:
function test ()
{
System.Debug.outputString("Hello, I'm a debug message");
}
это позволяет выводить переменные дампы и другие полезные лакомые кусочки информация на определенных этапах кода, так что вы можете отслеживать его, как вам нравится.
в качестве альтернативы вы можете свернуть свои собственные сообщения отладки / скрипта с помощью window.prompt()
. alert()
был отключен для гаджетов и confirm()
переопределяется, чтобы всегда возвращать true, но они, должно быть, проглядели prompt()
.
function test ()
{
// execute some code
window.prompt(someVarToOutput, JSON.stringify(someObjectToExamine));
// execute some more code
}
на JSON.stringify()
метод действительно помогает, если вы хотите изучить состояние объекта во время выполнения кода.
вместо из window.prompt
, вы также можете использовать VBScript MsgBox()
функция:
window.execScript( //- Add MsgBox functionality for displaying error messages
'Function vbsMsgBox (prompt, buttons, title)\r\n'
+ ' vbsMsgBox = MsgBox(prompt, buttons, title)\r\n'
+ 'End Function', "vbscript"
);
vbsMsgBox("Some output message", 16, "Your Gadget Name");
наконец, вы можете поймать все ошибки с вашим скриптом с помощью window.onerror
обработчик событий.
function window.onerror (msg, file, line)
{
// Using MsgBox
var ErrorMsg = 'An error has occurred'+(line&&file?' in '+file+' on line '+line:'')+'. The message returned was:\r\n\r\n'+ msg + '\r\n\r\nIf the error persists, please report it.';
vbsMsgBox(ErrorMsg, 16, "Your Gadget Name");
// Using System.Debug.outputString
System.Debug.outputString(line+": "+msg);
// Using window.prompt
window.prompt(file+": "+line, msg);
// Cancel the default action
return true;
}
на window.onerror
событие даже позволяет выводить номер строки и файл (только точный с IE8), в котором произошла ошибка.
удачи отладки, и не забудьте не оставлять в любом окне.приглашения или MsgBoxes при публикации гаджет!
в Windows 7 добавлен новый раздел реестра, который отображает ошибки сценария во время выполнения на данном ПК:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Sidebar]
"ShowScriptErrors"=dword:00000001
С этим значением вы увидите диалоги при возникновении ошибок скрипта.