首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在trace32中使用pyrcl

在trace32中使用pyrcl
EN

Stack Overflow用户
提问于 2022-07-23 08:14:17
回答 1查看 261关注 0票数 0

我试图远程控制trace32并试图添加来自pyhton的命令,在这个过程中,我必须使用python设置断点,但是我不能设置它,因为它没有定义函数名(我已经显示了我的十六进制和精灵),其他函数,比如符号名,运行良好。

代码语言:javascript
复制
import lauterbach.trace32.rcl as t32
dbg = t32.autoconnect()
self = dbg.symbol.query_by_name(name='ComMainFunctionTx')
print(self) 
bp = dbg.breakpoint.set(*"ComComMainFunctionTx ",**())

这是我的输出,我不知道在这里保留什么来映射

代码语言:javascript
复制
ComComMainFunctionTx P:0x801bacf0 930
Traceback (most recent call last):
  File "c:\Users\Desktop\test hello.py", line 24, in <module>
    bpt=dbg.breakpoint.set(*"ComComMainFunctionTx ",**())
TypeError: lauterbach.trace32.rcl._rc._breakpoint.BreakpointService.set() argument after ** must be a mapping, not tuple

更新这是iam试图做的事情,iam添加dbg.go_return()到下一个断点,但是它的抛出超时错误--如果我手动按go按钮转到trace32中的下一个断点,但给出bp.go()它的超时错误--请提供帮助

代码语言:javascript
复制
data=pd.read_csv("useR1.csv")
# converting column data to list
ARG = data['Arguments'].tolist()
for i in ARG:
  mysys = dbg.symbol.query_by_name(name=i)
  bp = dbg.breakpoint.set(address=mysys.address)
dbg.go_return()  
Break
代码语言:javascript
复制
  File "c:\Users\Desktop\IT_Script\test hello.py", line 70, in <module>
    dbg.go_return()
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\rcl.py", line 429, in go_return
    self.cmd("Go.Return")
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\_rc\_command.py", line 16, in __call__
    self.__conn._cmd(cmd)
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\rcl.py", line 284, in _cmd
    self.__library.t32_executecommand(cmd.encode(), 4096)
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\_rc\_library.py", line 429, in t32_executecommand
    return self.generic_api_call(
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\_rc\_library.py", line 313, in generic_api_call
    recv_data = self._link.receive()
  File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\lauterbach\trace32\rcl\_rc\hlinknet.py", line 649, in receive
    raise ApiConnectionTimeoutError(str(e)) from None
lauterbach.trace32.rcl._rc._error.ApiConnectionTimeoutError: timed out
EN

回答 1

Stack Overflow用户

发布于 2022-07-25 07:51:54

这应该是可行的:

代码语言:javascript
复制
import lauterbach.trace32.rcl as t32
dbg = t32.autoconnect()
sym = dbg.symbol.query_by_name(name='ComMainFunctionTx')
print(sym)
bp = dbg.breakpoint.set(address=sym.address)
print(bp)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73089100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档