Advertisement
Guest User

IPC Debugger chat

a guest
Jul 22nd, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. Subv07/01/2019
  2. Anybody feels like working on an IPC debugger for citra? It should help out a lot with debugging LLE module interactions
  3.  
  4. B3N3007/02/2019
  5. can you define what it should do (maybe write some stories). So we can just write small changes one at at time till the debugger is fully functional?
  6.  
  7. Subv07/02/2019
  8. it should basically be a Qt widget that logs every single IPC request and its respective reply
  9. selecting a request should tell me:
  10. - The Process that initiated it
  11. - The thread that initiated it
  12. - The target session
  13. - Whether it's a request or a reply
  14. - Whether the target is HLE or not
  15. - The command header
  16. - The response code if a reply (Or maybe we simply dump the whole IPC packet from the buffer according to the header?)
  17. It should also highlight those requests that didn't return RESULT_SUCCESS
  18. it should highlight unhandled requests if the target is HLE
  19. (in the future maybe let us place breakpoints so that we can break on a specific request being made, but that's way more ambitious and not something i'd consider 'easy')
  20.  
  21. B3N3007/02/2019
  22. my idea was if we split it down into small simple task that can get added a single PR it's way easier to get it done and you probably get more devs to work on it
  23. All in all what you want doesn't sound difficult but it involves ui so I'm out :stuck_out_tongue:
  24.  
  25. Subv07/02/2019
  26. the only sane split i can see here is separating the core implementation ( a "recorder"-like feature) from the presentation logic in Qt (a subscriber model)
  27. something similar to how the PICA recorders work
  28.  
  29. B3N3007/02/2019
  30. you could still spilt it into HLE/LLE request/response parts
  31.  
  32. Subv07/02/2019
  33. the core emits "events" with the required information, and the frontend subscribes to those events to present them in the UI
  34. @B3N30 eh, i'm not sure about that
  35. the core part isn't even hard to do, just hook SendSyncRequest / ReplyAndReceive for LLE, and SendSyncRequest / SendSyncRequest for HLE
  36. i would do it myself but my laptop is broken
  37.  
  38. B3N3007/02/2019
  39. like I said I can do the core part but not the ui
  40.  
  41. BreadFish6407/03/2019
  42. sigh
  43. How frequent are IPC requests? Like multiple per second?
  44.  
  45. wwylele / 白疾風07/03/2019
  46. I'd bet 100 per second
  47.  
  48. B3N3007/03/2019
  49. i think we need to specify some filter for that debugger
  50.  
  51. BreadFish6407/03/2019
  52. Yeah
  53.  
  54. B3N3007/03/2019
  55. usually the ones you are interested in aren't that frequent
  56.  
  57. BreadFish6407/03/2019
  58. Well I'm away from home for 6 more days
  59. I could try to throw something together when I'm back
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement