{ "id": "164244", "key": "TIMOB-24079", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-10-28T16:46:50.000+0000", "created": "2016-10-27T09:37:44.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "qe-6.0.0", "regression" ], "versions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "issuelinks": [], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2018-08-06T17:49:11.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "With SDK 6.0.0 not all breakpoints are hit during debug on android.\r\n\r\nThis is a regression as the issue does not occur with SDK 5.5.1.GA\r\n\r\nSteps to Reproduce:\r\n1. Create a classic app\r\n2. Replace the code in app.js with the following code\r\n{code}\r\nTi.include(\"import.js\");\r\nvar y = {foo:'bar'};\r\n \r\nvar f = function() {\r\n\tvar foo = \"a\";\r\n\tTi.API.info(\"Inside anonymous function: \"+foo);\r\n\tTi.API.info(\"Global val: \"+x);\r\n\tx+=1;\r\n};\r\nf();\r\n{code}\r\n3. Add a new file import.js and add following code in it\r\n{code}\r\nvar x = 10;\r\nTi.API.info(\"x = \"+x);\r\n{code}\r\n4. Add a breakpoint in import.js and also on in app.js (like line 2 and any line in function f)\r\n5. Debug on android device\r\n\r\nActual result:\r\nOn debug the breakpoint in import.js is hit. Click on resume and the breakpoints in app.js are not hit.\r\n\r\nExpected Result:\r\nAll the appropriate breakpoints should be hit during debug", "attachment": [], "flagged": false, "summary": "Android Debugger: Not all breakpoints are hit during debug of android app with SDK 6.0.0", "creator": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Android Device: Nexus 5 (v6.0.1)\r\nMac OSX El Capitan 10.11.6 \r\nTi SDK: 6.0.0.v20161023042103\r\nAppc Studio: 4.8.0.201610200817, 4.7.1\r\nAppc NPM: 4.2.8-7 \r\nApp CLI: 6.0.0-61\r\nXcode 8.0\r\nNode v4.6.0\r\nPreprod Environment", "closedSprints": [ { "id": 741, "state": "closed", "name": "2016 Sprint 22 SDK", "startDate": "2016-10-22T00:02:29.945Z", "endDate": "2016-11-05T00:02:00.000Z", "completeDate": "2016-11-07T04:38:58.335Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "399948", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "So I'm seeing the exact *opposite* of what you report here. I get the breakpoints in app.js to hit (line 2 and 5), but never hit the breakpoint at line 2 in import.js. (Tested with SDK 6.0.0.v20161026195651, using a dev eclipse environment for Studio on release branch)\r\n\r\nThat gives me an idea what might be causing the issues, though.\r\n\r\nWith SDK 6+, we use proper file paths, on older SDKs we didn't use leading '/' in the paths. I added code into Studio to add the prefix or not based on SDK version. But when I changed the SDK, I never touched Ti.include, so it likely needs the old non-prefixed paths right now.\r\n\r\nSo maybe you have a Studio version not containing that fix - so Ti.include works, but required paths don't. While I have a version with the Studio prefixing of paths so require paths work, but Ti.include doesn't.\r\n\r\nSo - two things to ensure:\r\n- Fix Ti.include to use the leading slash on file paths internally for SDK 6+\r\n- Ensure the Studio code conditionally a adding the prefix is on every branch it should be.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-27T17:21:14.000+0000", "updated": "2016-10-27T17:21:42.000+0000" }, { "id": "399949", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "SDK PRs:\r\n- 6_0_X: https://github.com/appcelerator/titanium_mobile/pull/8560\r\n- master/6.1.x: https://github.com/appcelerator/titanium_mobile/pull/8559", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-27T17:26:55.000+0000", "updated": "2016-10-27T17:26:55.000+0000" }, { "id": "399951", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "The conditional prefixing of paths used for breakpoints based on SDK version is on all three branches (master, release and development) of Studio, so I'm not sure why we're seeing exact opposite behavior here.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-27T17:42:48.000+0000", "updated": "2016-10-27T17:42:48.000+0000" }, { "id": "399952", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "The SDK fixes should go in since we haven't rid ourselves of Ti.include yet. (Or hey, we could still get rid of Ti.include, there's *already* a PR for that instead).\r\n\r\nMay need an eventual Studio PR to fix the opposite behavior Satyam and I are seeing...", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-27T17:44:09.000+0000", "updated": "2016-10-27T17:44:09.000+0000" }, { "id": "400005", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-10-28T02:30:38.000+0000", "updated": "2016-10-28T02:30:38.000+0000" }, { "id": "400015", "author": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Not including the fix as per the PR from Chris, below is the behavior across the GA and 6.0/4.8 versions of SDK and Studio when using Ti.include and using Require. The table below shows if the breakpoint is hit in the particular file or not.\r\n\r\nWith Studio 4.8\r\n|| ||Ti.Include|| ||Require|| ||\r\n||SDK||Included File||app.js||Required File||app.js||\r\n|5.5.1.GA|Y|Y|Y|Y|\r\n|6.0|N|Y|Y|Y|\r\n\r\nWith Studio 4.7.1\r\n|| ||Ti.Include|| ||Require|| ||\r\n||SDK||Included File||app.js||Required File||app.js||\r\n|5.5.1.GA|Y|Y|Y|Y|\r\n|6.0|Y|N|N|N|\r\n", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-10-28T07:40:03.000+0000", "updated": "2016-10-28T07:40:03.000+0000" }, { "id": "400113", "author": { "name": "bimmel-defective", "key": "bimmel", "displayName": "(deactived) Brian Immel", "active": false, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "bimmel-defective", "key": "bimmel", "displayName": "(deactived) Brian Immel", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-10-31T17:04:22.000+0000", "updated": "2016-10-31T17:04:22.000+0000" }, { "id": "440054", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cleaning up older fixed issues. If this issue should not have been closed as fixed, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:49:11.000+0000", "updated": "2018-08-06T17:49:11.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }