home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / dyndd.zip / dyndd.rpn < prev    next >
Text File  |  1997-12-01  |  4KB  |  242 lines

  1. name=cmd.exe
  2. logmax=1027
  3. major=255
  4. minor=1
  5. object=2
  6. offset=0x46ce  ; entry point to cmd.exe
  7. opcode=0xfc
  8.  
  9. ; this tracepoint is invoked by starting a command window
  10. ;
  11. ;
  12. ;
  13. ; push an invalid request for dyndd
  14. ;
  15. push d,9999
  16. call dd
  17. ;
  18. ; transfer 512 bytes of stack (+3) to the log buffer
  19. push w,512
  20. push ss
  21. push esp
  22. log mrs
  23. ; ask dyndd to record it
  24. push d,0
  25. calldd
  26. ;
  27. ;
  28. ;
  29. ; Compare two strings at addresses cs:ip and cs:ip - they should be equal
  30. ;
  31. setmin w,2 ;minor code chage to identify test 2
  32. ; 1st log the string
  33. push w,64
  34. push cs
  35. push eip
  36. log mrs
  37. ; Ask DynDD to record this data now as a sepatate record
  38. push d,0
  39. call dd
  40. ; Now ask Dyndd to compare them
  41. push cs
  42. push eip
  43. push cs
  44. push eip
  45. push d,2
  46. call dd
  47. ; now log the result - should be 0
  48. log dn,1
  49. ; Ask DynDD to record this data now as a sepatate record
  50. push d,0
  51. call dd
  52. ;
  53. ;
  54. ;
  55. ; Compare two strings at addresses cs:ip and cs:ip+2 - they should not be equal
  56. ;
  57. setmin w,3 ;minor code chage to identify test 3
  58. ; 1st log the string
  59. push w,64
  60. push cs
  61. push eip
  62. log mrs
  63. ; Ask DynDD to record this data now as a sepatate record
  64. push d,0
  65. call dd
  66. ; Now ask Dyndd to compare them
  67. push cs
  68. push eip
  69. push cs
  70. push eip
  71. push d,2
  72. add
  73. push d,2
  74. call dd
  75. ; now log the result - should be -1
  76. log dn,1
  77. ; Ask DynDD to record this data now as a sepatate record
  78. push d,0
  79. call dd
  80. ;
  81. ;
  82. ;
  83. ; Compare two strings at flat addresses %eip and %eip - they should be equal
  84. ;
  85. setmin w,4 ;minor code chage to identify test 4
  86. ; 1st log the string
  87. push w,64
  88. push d,0x20000
  89. push eip
  90. add
  91. log mrf
  92. ; Ask DynDD to record this data now as a sepatate record
  93. push d,0
  94. call dd
  95. ; Now ask Dyndd to compare them
  96. push d,0x20000
  97. push eip
  98. add
  99. dup n,1
  100. push d,1
  101. call dd
  102. ; now log the result - should be 0
  103. log dn,1
  104. ; Ask DynDD to record this data now as a sepatate record
  105. push d,0
  106. call dd
  107. ;
  108. ;
  109. ;
  110. ; Compare two strings at flat addresses %eip and %eip+2 - they should not be equal
  111. ;
  112. setmin w,5 ;minor code chage to identify test 5
  113. ; 1st log the string
  114. push w,64
  115. push d,0x20000
  116. push eip
  117. add
  118. log mrf
  119. ; Ask DynDD to record this data now as a sepatate record
  120. push d,0
  121. call dd
  122. ; Now ask Dyndd to compare them
  123. push d,0x20000
  124. push eip
  125. add
  126. dup n,1
  127. push d,2
  128. add
  129. push d,1
  130. call dd
  131. ; now log the result - should be -1
  132. log dn,1
  133. ; Ask DynDD to record this data now as a sepatate record
  134. push d,0
  135. call dd
  136. ;
  137. ;
  138. ;
  139. ; Now for a real fault - compare stings at %0 and %0
  140. ; DynDD should recover from this.
  141. ;
  142. ; 1st log the string
  143. setmin w,6 ;minor code chage to identify test 6
  144. push d,0
  145. dup n,1
  146. push d,1
  147. call dd
  148. ;
  149. ;
  150. ;
  151. ; Update a Global variable.
  152. ;
  153. setmin w,7 ;minor code chage to identify test 7
  154. push d,0   ; variable 0
  155. push d,0x10101010 ; value to set
  156. push d,6
  157. call dd
  158. ;
  159. ;
  160. ;
  161. ; Read all global variables
  162. ;
  163. setmin w,8 ;minor code chage to identify test 8
  164. push d,0   ; variable 0
  165. push d,5
  166. call dd
  167. log dn,1
  168. push d,1   ; variable 1
  169. push d,5
  170. call dd
  171. log dn,1
  172. push d,2   ; variable 2
  173. push d,5
  174. call dd
  175. log dn,1
  176. push d,3   ; variable 3
  177. push d,5
  178. call dd
  179. log dn,1
  180. push d,4   ; variable 4
  181. push d,5
  182. call dd
  183. log dn,1
  184. push d,5   ; variable 5
  185. push d,5
  186. call dd
  187. log dn,1
  188. push d,6   ; variable 6
  189. push d,5
  190. call dd
  191. log dn,1
  192. push d,7   ; variable 7
  193. push d,5
  194. call dd
  195. log dn,1
  196. push d,8   ; variable 8
  197. push d,5
  198. call dd
  199. log dn,1
  200. push d,9   ; variable 9
  201. push d,5
  202. call dd
  203. log dn,1
  204. push d,10  ; variable 10
  205. push d,5
  206. call dd
  207. log dn,1
  208. push d,11  ; variable 11
  209. push d,5
  210. call dd
  211. log dn,1
  212. push d,12  ; variable 12
  213. push d,5
  214. call dd
  215. log dn,1
  216. push d,13  ; variable 13
  217. push d,5
  218. call dd
  219. log dn,1
  220. push d,14  ; variable 14
  221. push d,5
  222. call dd
  223. log dn,1
  224. push d,15  ; variable 15
  225. push d,5
  226. call dd
  227. log dn,1
  228. ; Ask DynDD to record this data now as a separate record
  229. push d,0
  230. call dd
  231. ;
  232. ;
  233. ; transfer 512 bytes of code but don't log the 3-byte prefix         
  234. setmin w,9 ;minor code chage to identify test 9
  235. push w,512
  236. push cs
  237. push eip
  238. log mrs
  239. ; ask dyndd to record it
  240. push d,7
  241. calldd
  242.