Uploaded image for project: 'Appcelerator Studio'
  1. Appcelerator Studio
  2. TISTUD-2122

Shortlist of calling frames with Emulator. Debugging Variable View: 'recurse(e) [app.js:21] // called 2x'

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Cannot Reproduce
    • Affects Version/s: Titanium Studio 2.1.0, Titanium Studio 2.1.1, Titanium Studio 2.1.2
    • Fix Version/s: Backlog
    • Component/s: Debugging
    • Environment:

      Studio: 2.1.2.201208152123
      SDK: 2.1.1.GA
      OS: OS X 10.8 (M.LION)

      Description

      Under Debugging Variable View: Shortlist of called frames in Emulator compair to Simulator Debugging Variable View. As an example if frames called for 5 time it, in Variable view its shows only 3 times.

      Simulator meeting the test run result except there is no

      {Step#13 "Terminated"}

      Message for both Simulator and Emulator as a result its ends up in loop.

      This is not a regression.

      Log and console files are attached for both Simulator and Emulator.

      Test run Link: Debugger Acceptance 1014.
      " http://appcelerator.testlodge.com/projects/1313/test_runs/12314/run ".
      https://wiki.appcelerator.org/display/tp/Debugger+Test+Plan

      Step to Reproduce:

      <code>
      Title: Debugger Acceptance 1014
      Description: breakpoint-eval.bkpt

      Test steps:

      Note: Close open emulators before starting.

      1. From TiStudio go to Debug perspective
      2. In the Breakpoints view, Remove All existing breakpoints and right-click to "Import Breakpoints..."
      3. Browse to breakpoint-eval.bkpt in Test File Location
      4. Run in debug
      5. Click on 'Recurse' from Simulator (breakpoint at app.js:17)
      6. From TiStudio click 'Resume'
      7. From TiStudio click 'Resume'
      8. From TiStudio click 'Resume'
      9. From TiStudio click 'Resume'
      10. From TiStudio click 'Resume'
      11. From TiStudio click 'Resume'
      12. From TiStudio click 'Resume'
      13. Finished debugging 'Recurse'
      <code>

      Actual Result:
      Short list of called frames in Emulator and while keep 'resuming' the test behave in calling frames one at a time.
      <code>
      After Step 5:
      In Variables view, verify (Name, Value) pairs:
      (e, 90)
      (y, -1)

      In Debug view, verify 2 call frames:
      recurse(e) [app.js:17]
      [Top-level script] [app.js:53]

      After Step 6:
      In Variables view, verify (Name, Value) pairs:
      (e, 91)
      (y, -1)

      In Debug view, verify 4 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 1x
      [Top-level script] [app.js:53]

      After Step 7:
      In Variables view, verify (Name, Value) pairs:
      (e, 92)
      (y, 1)

      In Debug view, verify 5 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 2x
      [Top-level script] [app.js:53]

      After Step 8:
      In Variables view, verify (Name, Value) pairs:
      (e, 93)
      (y, -1)

      In Debug view, verify 7 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 3x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 94)
      (y, -1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 4x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 95)
      (y, undefined)

      In Debug view, verify # call frames:
      recurse(e) [app.js:16]
      recurse(e) [app.js:21] // called 5x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 95)
      (y, -1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:16]
      recurse(e) [app.js:21] // called 5x
      [Top-level script] [app.js:53]

      //
      After this step test run call for to press 'Recurse' button on Emulator - No Action taken place at this point.
      //

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 96)
      (y, 1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 6x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 97)
      (y, -1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 7x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 98)
      (y, -1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 8x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 99)
      (y, -1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 9x
      [Top-level script] [app.js:53]

      After Step #:
      In Variables view, verify (Name, Value) pairs:
      (e, 100)
      (y, 1)

      In Debug view, verify # call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 9x
      [Top-level script] [app.js:53]

      //
      In Debug Window:

      Android 2.3 [Titanium Android Emulator]
      Android JS Debugger
      Thread [main] (Running)
      debug_test
      <terminated, exit value: 0>Application installer
      //
      <code>

      Expected results:

      <code>
      After Step 5:
      In Variables view, verify (Name, Value) pairs:
      (e, 90)
      (y, -1)

      In Debug view, verify 2 call frames:
      recurse(e) [app.js:17]
      [Top-level script] [app.js:53]

      After Step 6:
      In Variables view, verify (Name, Value) pairs:
      (e, 92)
      (y, 1)

      In Debug view, verify 4 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 2x
      [Top-level script] [app.js:53]
      After Step 7:
      In Variables view, verify (Name, Value) pairs:
      (e, 93)
      (y, -1)

      In Debug view, verify 5 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 3x
      [Top-level script] [app.js:53]
      After Step 8:
      In Variables view, verify (Name, Value) pairs:
      (e, 95)
      (y, undefined)

      In Debug view, verify 7 call frames:
      recurse(e) [app.js:16]
      recurse(e) [app.js:21] // called 5x
      [Top-level script] [app.js:53]

      When clicking recurse(e) [app.js:21] from top to bottom, verify (Name, Value) pairs in Variables view:
      (e, 94)
      ...
      (e, 90)

      After Step 9:
      In Variables view, verify (Name, Value) pairs:
      (e, 96)
      (y, 1)

      In Debug view, verify 8 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 6x
      [Top-level script] [app.js:53]

      After Step 10:
      In Variables view, verify (Name, Value) pairs:
      (e, 97)
      (y, -1)

      In Debug view, verify 9 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 7x
      [Top-level script] [app.js:53]

      After Step 11:
      In Variables view, verify (Name, Value) pairs:
      (e, 100)
      (y, 1)

      In Debug view, verify 12 call frames:
      recurse(e) [app.js:17]
      recurse(e) [app.js:21] // called 10x
      [Top-level script] [app.js:53]
      After Step 13:
      Verify 'Terminate' appears
      <code>

        Attachments

        1. Android_ConsoleLog
          56 kB
        2. Android_Logfile
          11 kB
        3. androiddebugger.log
          28 kB
        4. debug_test.zip
          3.52 MB
        5. iosdebugger.log
          11 kB
        6. iPhone_Consolefile
          1.0 kB
        7. iPhone_Logfile
          8 kB

          Issue Links

            Activity

              People

              • Assignee:
                mxia Michael Xia
                Reporter:
                psingh Payminder Singh
              • Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: