Adobe 65007312 Programming Guide - Page 183

Debugging your plug-in, Specifying a log

Page 183 highlights

CHAPTER 9: Getting Started: A Tutorial Example Debugging your plug-in 183 7. Click Update again, without changing the text in the "New value" field. Notice how the text turns black. This is because the observer is only notified when the bound value changes. 8. Dismiss the dialog with OK or Cancel. Debugging your plug-in The Lightroom SDK does not supply a development environment for you to debug your plug-ins. You can write your plug-ins using any text editor, and write debugging output using the LrLogger namespace. The SDK does not provide a facility to view the debugging output directly; you can write out a log file to disk, or use a third-party application, such as one of these tools: X WinDbg - available for download from http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx X Microsoft Developer Studio X Console - built-in application on Mac OS, look in /Applications/Utilities X Xcode Specifying a log Use these steps to add trace information to the Hello World plug-in: 1. Edit the LibraryMenuItem.lua file to import the LrLogger namespace: local LrLogger = import 'LrLogger' 2. After the import statements, create a new logger instance named libraryLogger and enable the print or logfile action: local myLogger = LrLogger( 'libraryLogger' ) myLogger:enable( "print" ) -- or "logfile" Z Choose print if using a console log viewing tool; see "Viewing trace information in a platform console" on page 184. Z Choose logfile if using a text file for debugging; see "Viewing trace information using log files" on page 184 3. Create a function named MyHWLibraryItem.outputToLog() that accepts a single string argument. In the body of the function, send the accepted argument to the LrLogger:trace() function: function MyHWLibraryItem.outputToLog( message ) myLogger:trace( message ) end 4. Add trace information to the myCalledFunction function. Add the following code: MyHWLibraryItem.outputToLog( "props.myObservedString has been updated." ) 5. Within the action function for the Update button, add the following trace information: MyHWLibraryItem.outputToLog( "Update button clicked." )

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204

C
HAPTER
9: Getting Started: A Tutorial Example
Debugging your plug-in
183
7.
Click
Update
again, without changing the text in the “New value” field. Notice how the text turns
black. This is because the observer is only notified when the bound value changes.
8.
Dismiss the dialog with
OK
or
Cancel
.
Debugging your plug-in
The Lightroom SDK does not supply a development environment for you to debug your plug-ins. You can
write your plug-ins using any text editor, and write debugging output using the
LrLogger
namespace.
The SDK does not provide a facility to view the debugging output directly; you can write out a log file to
disk, or use a third-party application, such as one of these tools:
X
WinDbg — available for download from
X
Microsoft Developer Studio
X
Console — built-in application on Mac OS, look in /Applications/Utilities
X
Xcode
Specifying a log
Use these steps to add trace information to the Hello World plug-in:
1.
Edit the
LibraryMenuItem.lua
file to import the
LrLogger
namespace:
local LrLogger = import 'LrLogger'
2.
After the
import
statements, create a new logger instance named
libraryLogger
and enable the
print
or
logfile
action:
local myLogger = LrLogger( 'libraryLogger' )
myLogger:enable( "print" ) -- or "logfile"
Z
Choose
print
if using a console log viewing tool; see
“Viewing trace information in a platform
console” on page 184
.
Z
Choose
logfile
if using a text file for debugging; see
“Viewing trace information using log files”
on page 184
3.
Create a function named
MyHWLibraryItem.outputToLog()
that accepts a single string argument. In
the body of the function, send the accepted argument to the
LrLogger:trace()
function:
function MyHWLibraryItem.outputToLog( message )
myLogger:trace( message )
end
4.
Add trace information to the
myCalledFunction
function. Add the following code:
MyHWLibraryItem.outputToLog( "props.myObservedString has been updated." )
5.
Within the action function for the Update button, add the following trace information:
MyHWLibraryItem.outputToLog( "Update button clicked." )