Changes for page Debugging
Last modified by Simon Urli on 2023/10/10 11:46
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -203,8 +203,10 @@ 203 203 204 204 For more read [[A Byteman tutorial>>https://community.jboss.org/wiki/ABytemanTutorial]] or the [[Reference documentation>>http://downloads.jboss.org/byteman/2.0.1/ProgrammersGuideSinglePage.html]]. 205 205 206 -=== Example === 206 +=== Examples === 207 207 208 +==== Example 1 ==== 209 + 208 208 In this example we'll print calls to ##CommonsConfigurationSource.containsKey(...)## with the parameters printed and the time it takes to execute. In addition we'll also print calls to ##XWiki.getDocument(String, XWikiContext)## which is a deprecated method which, for the purpose of this example, we think generate the calls to ##containsKey##. 209 209 210 210 {{code}} ... ... @@ -254,6 +254,67 @@ 254 254 ... 255 255 {{/code}} 256 256 259 +==== Example 2 ==== 260 + 261 +Log calls to ##XWikiDocument#setLock()## and ##XWikiDocument#removeLock()##. 262 + 263 +{{code}} 264 +RULE XWiki Set Lock 265 +CLASS XWikiDocument 266 +METHOD setLock 267 +AT ENTRY 268 +IF TRUE 269 +DO traceln("set lock for user [" + $1 + "], doc = [" + $this + "]") 270 +ENDRULE 271 + 272 +RULE XWiki Remove Lock 273 +CLASS XWikiDocument 274 +METHOD removeLock 275 +AT ENTRY 276 +IF TRUE 277 +DO traceln("remove lock for doc = [" + $this + "]") 278 +ENDRULE 279 + 280 +RULE XWiki Get Lock 281 +CLASS XWikiDocument 282 +METHOD getLock 283 +AT ENTRY 284 +IF TRUE 285 +DO traceln("get lock for doc = [" + $this + "]") 286 +ENDRULE 287 +{{/code}} 288 + 289 +When you click edit and then cancel on a doc you get for example: 290 + 291 +{{code}} 292 +// Edit 293 +get lock for doc = [Sandbox.WebHome] 294 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome] 295 +get lock for doc = [Sandbox.WebHome] 296 +get lock for doc = [Sandbox.WebHome] 297 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome] 298 + 299 +// Cancel 300 +get lock for doc = [Sandbox.WebHome] 301 +remove lock for doc = [Sandbox.WebHome] 302 +{{/code}} 303 + 304 +When you click edit and then save on a doc you get for example: 305 + 306 +{{code}} 307 +// Edit 308 +get lock for doc = [Sandbox.WebHome] 309 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome] 310 +get lock for doc = [Sandbox.WebHome] 311 +get lock for doc = [Sandbox.WebHome] 312 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome] 313 + 314 +// Save 315 +get lock for doc = [Sandbox.WebHome] 316 +remove lock for doc = [Sandbox.WebHome] 317 +get lock for doc = [Sandbox.WebHome] 318 +{{/code}} 319 + 257 257 === Troubleshooting === 258 258 259 259 ==== NoClassDefFoundError: com/sun/tools/attach/AttachNotSupportedException ====